您的位置:首页 > 运维架构 > Shell

shell基本操作

2016-05-24 00:00 288 查看
**- 执行脚本 ./1.sh

sh 1.sh


. 1.sh


source 1.sh


重定向 < 重定向输如 示例:passwd --stdin xiaohan < pass.txt

> 重定向输出 示例:cat /etc/passwd > /root/passwd.txt


>>追加重定向 示例:cat /etc/passwd >> /root/passwd.txt


2>错误重定向


2>>最佳错误重定向


&>混合重定向


变量 a="会被解析$b"

a='不会被解析$b'


a='cat /etc/passwd' 或a=$(cat /etc/passwd) 当变量是值是一个命令的输出结果时使用


read -p a  交互式给变量赋值 示例: read -p "请输入数字"


环境变量 USER 当前用户


PATH 命令搜索路径


HOME 宿主目录


PWD  工作目录


位置变量 $? 执行命令的返回结果 0 true 非0 false


$# 参数个数


$* $1表示第一个参数,$2第二个 $*表示所有位置参数的内容


$0 表示当前程序脚本的名称


全局变量 export 变量名


变量运算 expr $a + $b 加


-    减


\*   乘(转义符*)


/    除


%    求余


文件测试  -f 是否文件


-d 是否为目录


-r 是否可读


-w 是否可写


-x 是否可执行


-e 文件是否存在


数值比较  -eq  等于


-ne  不等于


-gt  大于


-lt  小于


-ge  大于等于


-le  小于等于


字符串比较 =   第一个字符串等于第二个


!=  取反 第一个字符串不等于第二个


-z  测试字符串是否为空


逻辑测试   &&  逻辑与运算


||  逻辑或运算


!   逻辑非


if 语句


if [ $a -eq $b ]


then


echo "$a 等于 $b"


else


echo "$a不等于$b"


fi


if [ $a -eq $b ]


then


echo "$a等于$b"


elif [ $a -lt $b ]


then


echo "$a 小于 $b"


else


echo "$a 大于 $b"


fi


for循环


for i in array_ip(可以为文件,数组,命令的结果)


do


echo "$i"


done


示例:


a=$(ls /etc)


for i in $a


do


echo $i


done


while循环


while [ $a -ge $b ]


do


echo "hello world"


done


case语句


case 变量值 in


模式1)


命令序列1


;;


模式2)


命令序列2


;;


模式3)


命令序列2


;;


*)


默认命令序列


esac


sleep  延时单位/秒


$RANDOM 随机数


exit 终止脚本


break n 跳出几层循环


continue 跳出当前循环**
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: