#当前路径
pwd
#当前用户
whoami
id -u -n
#当前shell名称
带路径echo $0
不带路径basename $0
#export
export可新增,修改或删除环境变量,供后续执行的程序使用。类似于刷新功能
例如
TEMP=0;export TEMP
#source和.
二者都是执行后面的语句使用,并且执行的脚本中的变量的信息保存在当前shell中,可以访问
例如
脚本test.sh中有一句A=1的语句
执行sh test.sh后echo $A显示为空,因为不是在当前shell中执行的
而执行. test.sh后echo $A可以显示1,因为是通过当前shell来调用,并且把调用过的变量保存了起来
#权限变更
chmod 777 TABLE_LIST
#eval命令
对eval后面的命令进行2次扫描,如果内容中包含别的变量或命令,则先将别的变量、命令的执行结果替换到该命令中,再执行该命令,常用技巧比如在不知道参数个数下动态取得最后一个参数内容
set 11 22 33
echo 反斜杠$$# 输出$3,并不能得到其内容
而eval echo 反斜杠$$# 输出33,可以把参数内容一次取得
#询问是否覆盖同名,copy文件或路径
cp -i /home/file01 /home/file01_cp
#$var与${var}同效果,但后者直观
#$(( ))计算括号中表达式,其中的变量可以加$也可以不加$,还可以将括号中指定的进制数转为10进制
例 $((2#110))
#(())重新定义变量,可以实现自加自减
例 a=5;b=7
((a++))
#将执行结果(包括异常)都输出到同一log
sh xxx.sh > log.txt 2>&1
#传给脚本的参数个数
$#
#tail命令
从第10行开始显示到最后一行tail -n +10 log
显示最后10行tail -n 10 log