Shell脚本常规语法

1.shell脚本
${n}为变量引用
en=112 33 X  单独赋值不能有空格
en="123" 等号两边不能有空格
en='123 456'  # " 和 ' 区别“可以通过${en}应用,' 不能引用值
en=`ls`/en=$(ls) 命令赋值  注意:` 为反引号tab键上方
unset 删除变量

2.特殊变量
$0 表示当前脚本文件名
$n(n>=1) 传递给脚本或函数的参数 n表示第几个参数 $1 表示第一个
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
$@ 与$*相似但略有不同
$? 上个命令的退出状态或者获取函数返回值
$$ 当前shell进程ID

read 读取键盘输入数据 read a/read -p "input a=" a
((  ))  逻辑运算符 $(( a+b )) a和b为变量

逻辑运算符 || 和 && 同c语言
test 检测条件是否成立 test $a -eq $b && echo " a = b" / [      ]
-eq 判断数值是否相等
-ne 是否不相等
-gt 是否大于
-lt  是否小于
-ge是否大于等于
-le 是否小于等于
-z str 判断字符串是否为空
-n str 判断字符串是否非空
=和== 判断字符串是否相等
-d 判断目录是否存在
-f 判断文件是否存在
3.管道
command1 | command2
#command1 是第一个命令
command2 是第一个命令传出值赋值给第二个命令
4,if语句
if   [ $a -ge $b ]
then
     echo "a >=  b"
else
     echo "a < b"
fi
(2) if elif else
if  [ $a -gt $b ]
then
     echo "a >  b"
elif [ $a -lt $b ]
then
     echo "a < b"
else
     echo "a =  b"
fi
(5) case in 相当于 switch
case $a in
        1)
                echo "a=1"
                ;;
        2)      echo "a=2"
                ;;
        *)      echo "a!=1 && a!=2"
                ;;
esac
*号表示任何数  ;; 相当于break 效果
(6)for   in
for n in 1 2 3 4 5 6 7 8 9 10
do
    echo "$n"
done
取值范围
for n in {1..10}
do
    echo "$n"
done
命令
for n in $(ls /bin/*sh)
do
    echo "$n"
done 
特殊变量
for n in "$*"
do
    echo "$n"
done    
参数传入
./hello.sh  1 2 3
结果 :1 2 3

for n in "$@"
do
    echo "$n"
done  
参数传入
./hello.sh  1 2 3
结果 : 1
            2
            3
“$*”表示整体 “$@”表示单个

(6) while 循环
 n=0
while(( n<10))
do
     echo "${n}"
     n=$((n+1))  
done
(7)函数
function my_name(){
        echo "lizhaoyang"
}
my_name
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭(╯ε╰)╮*^O^*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值