eval
查看系统自带的解释:
#eval [arg ...]
The args are read and concatenated together into a single
command. This command is then read and executed by the shell,
and its exit status is returned as the value of eval.
If there are no args, or only null arguments, eval returns 0.
可以看出eval给shell提供了一种”根据变量的值,运行时确定所执行命令”的机制。
实践过程中遇到的一种情况就是”包含变量的变量名的赋值”操作。如下面这段代码:
//用一个for循环,给名称为test_1,test_2等变量赋值
#!/bin/bash
array=(11 22 33)
for i in $(seq 3)
do
eval test_${i}=${array[$((i-1))]}
eval echo "test_${i}=\$test_${i}"
done
test_1=11
test_2=22
test_3=33
head
用于输出文件的起始的部分数据
#head -n 2 file
#head -n -2 file
#head -c 2 file
#head -c -2 file
tail
基本用法与head类似,但是也有更多高级的用法,详细内容请查看man tail
单纯就输出而言,没有’-‘符号的作用,而是’+’符号的应用。注意与head区分开。
#tail -n 2 file
#tail -n +2 file
#tail -c 2 file
#tail -c +2 file
seq
打印一连串的数字,命令比较简单,直接上实例
1
2
3
4
3
s 3 s3.5 s 4
3.000000 3.500000 4.00000
***********