脚本2种执行方式:
1 直接执行,等于bash衍生一个子程序,当该子程序完成后,子程序内各项变量活动作不会传回父程序
2 利用source执行,直接在父程序中执行
X=/bin/xdo cmd
执行cmd命令,X已在其环境变量中了
bash中的空命令 :(冒号)
$# 脚本参数个数
$@ 全部独立变量
$* 全部变量,中间用分隔符分开
$$ 当前pid
以数字计算 $((…)) 或者 declare -i a = $a+$b
kill -l 1234 >err.txt 2>&1
${#var} 返回var值的字符数
for f in *
do;…;done
for((init;limit;step))
do;…;done
'grep ...' = $(grep ...)
read test=[ ]
if ...
then
elif ... ;then
else
fi
while [] do
...
done
until [] do
...
done
循环一行表示:
while [ ] ;do ...;done
在done后加&,即可将循环放在后台执行。同理放置重定向符或管道符,可以将某个循环重定向。
case val in
"…")
;;
“…”)
;;
*)
;;
esac
|| &&
is_ok && {...}
function func() {...}
break : continue . echo eval exec exit n export expr printf return set
shift 左移脚本参数
trap unset
[ -f .profile ] && exit 0 || exit do
find . -newer file0 -type f -print
$(($x+1))
function name {}
name(){}
return local
命令分组
(...) 在子shell中执行 :(x=10)
{...} 在当前shell中执行 : { x=10; }