shell study
阴元青
2023-12-01
echo
cat
read
tee 显示并保存
>:重定向标准输出
<:重定向标准输入
>>:附加
/dev/null
declare -x:相当于 export,声明一个环境变量
declare +x:将环境变量编程自定义变量
使用diff和patch命令来做补丁
脚本的运行:
./ 在子shell中运行
source 在当前shell中运行
shell script的默认变量
$0: script本身
$N: 第N个变量
$#: 参数的个数
$@: "$1” “$2” “$3”
条件语句
if [] || [];
then
fi
if [] && [];
then
else
fi
if [];
then
elif [];
then
else
fi
case语句
case $var in
"con1")
程序段
;;
"con2")
程序段
;;
*)
程序段
;;
esac
函数function
函数的定义
function fname(){
程序段
}
定义后的程序可以在后面调用
function中也可以定义变量,用$N表示
循环
while [condition]
do
程序段
done
until [condition]
do
程序段
done
for $var in con1 con2 con3 .....
do
程序段
done
for ( ( init; condition; step ) )
do
程序段
done
注意,每个字符或单词后面一定要有空格,shell根据空格取词
shell script的调试
sh -n 不执行shell,仅检查语法
-v 在执行script前,先将script的内容输出到屏幕上
-x 将使用到的script的内容输出到屏幕上