shell脚本攻略1

换行符 \n
echo -n 禁止换行
环境变量声明export
export PATH="$PATH:/home/user/bin"
获取字符串的长度
length=${#var}

shell数学运算
let [] (()) expr
注:使用let时,变量名之前不需要$

标准输入stdin--0
标准输出stdout--1
标准错误stderr--2
读取命令返回值$? #错误并退回为非0,成功完成为0
重定向

cmd 2>stderr.txt 1>stdout.txt     #分别重定向到不同文件
cmd 2>&1 alloutput.txt            #1、2输出到同一文件
cmd &> output.txt                 #1、2输出到同一文件

/dev/null 黑洞,丢弃接收到的任何数据

cat<<EOF>log.txt
添加的内容                #新增至文件log.txt顶部
EOF

别名alias(默认临时,关闭终端则失效)

alias rm="cp $@ ~/backup && rm $@"    #创建别名
echo ''alias cmd="command seq"' >> ~/.bashrc   #创建永久的
unalias / alias cmd=                  #取消别名

time CommandOrScriptName #计算命令花费时间
sleep 30 #延迟脚本执行30s
bash -x script.sh #使用x,启用脚本跟踪调试功能
_DEBUG=on ./script.sh #调用bash内置函数,启用调试功能

$@以列表的方式一次性打印所有参数,"$1" "$2" "$3"
$*所有参数视为单个实体, "$1$2$3"

read -p "input the num:" num        #两种方式一致
echo -n "input the num:" 
read num
read -t 10 -p "input the num:" num  #计时10s输入
read -s -p "input the num:" num     #默读,输出不显示
posted @ 2019-10-09 18:05  kylingx  阅读(151)  评论(0编辑  收藏  举报