shell 下shift和eval
来源:互联网 发布:linux开启tftp服务器 编辑:程序博客网 时间:2024/04/27 21:02
shell中shift和eval的用法
shift其实很简单的,就是左移参数列表,shift一次就将最左边的参数$1移出去了,然后
原来的$2现在就变成了$1。
shift后面还可以带上一个数字,指明要移出多少个参数(默认只移出一个),比如说
shift 3 就是移出3个参数,之后原来的$4就变成了现在的$1。
eval就是先将后面的参数执行一遍,将必要的置换都做了,再来执行命令。举个例子:
MYFILE="cat myfile"
echo $MYFILE # output: cat myfile
eval $MYFILE # output: contents of myfile
再举个详细点儿的例子:
#!/bin/bash
# evalit
echo " Total number of arguments passed: $#"
echo " The process ID: $$"
echo " Last argument: " $(eval echo \$$#)
运行脚本:
$ ./evalit alpha bravo charlie
output as follows:
Total number of arguments passed: 3
The process ID: 780
Last argument: charlie
http://www.chengyongxu.com/blog/bash-shell%E4%B8%ADshift%E7%94%A8%E6%B3%95/
shift可以用来向左移动位置参数。
Shell的名字 $0
第一个参数 $1
第二个参数 $2
第n个参数 $n
所有参数 $@ 或 $*
参数个数 $#
shift默认是shift 1
以下边为例:
view sourceprint?
01
cat
shift
.sh
02
#----------------------------输出文字-开始----------------------------
03
#!/bin/bash
04
until
[ -z
"$1"
]
# Until all parameters used up
05
do
06
echo
"$@ "
07
shift
08
done
09
#----------------------------输出文字-结束----------------------------
10
11
sh
shift
.sh 1 2 3 4 5 6 7 8 9
12
#----------------------------输出文字-开始----------------------------
13
1 2 3 4 5 6 7 8 9
14
2 3 4 5 6 7 8 9
15
3 4 5 6 7 8 9
16
4 5 6 7 8 9
17
5 6 7 8 9
18
6 7 8 9
19
7 8 9
20
8 9
21
9
22
#----------------------------输出文字-结束----------------------------
- shell 下shift和eval
- shell中shift和eval的用法
- 【Linux】shell脚本下的命令代换` `和$() 以及eval
- shell 脚本中$$,$#,$?和shift
- shell脚本中的eval、‘‘和$()
- shell shift
- shell shift
- shell---shift
- shell shift
- shell脚本之shift和getopts
- Linux下shell脚本中的eval命令
- shell eval
- [shell] eval
- eval在MATLAB和Shell中的作用
- shell 中 shift 位移
- shell 内置命令shift
- shell中的shift命令
- shell shift的使用
- ios中使用zxing遇到的问题
- 闹钟的设计(ClockDemo)
- Java基本流程控制语句
- 随机数和伪随机数
- 本博客所有小工具汇总
- shell 下shift和eval
- 关于 “BlockSize”的详解
- WPF 单个触发器、多个触发器、多条件触发器
- 一个bug
- 机器学习 学习资料收集
- iOS Facebook
- 我就是程序,程序就是我
- 基站定位数据库(简单的手机基站定位数据获取)
- 最长公共子序列