加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell编程(一)

发布时间:2020-12-15 16:16:28 所属栏目:安全 来源:网络整理
导读:shell 编程 定义变量 `x=664` 在变量名.等号和值之间不能有空格输出指令 `echo` echo $x引号的区别 "" '' ""会将空格和分割都不转意,''会将值原样赋值export 将变量升为全局变量$()或`` 可以获取命令的返回值$? 表示上一个命令退出的状态$$ 表示当前进程编

shell 编程

定义变量 `x=664` 在变量名.等号和值之间不能有空格
输出指令 `echo` echo $x
引号的区别 "" '' ""会将空格和分割都不转意,''会将值原样赋值
export 将变量升为全局变量
$()或`` 可以获取命令的返回值
$? 表示上一个命令退出的状态
$$ 表示当前进程编号
$0 表示当前脚本名称

$n 表示n位置的输入参数(n代表数字,n>=1)

$#     表示参数的个数,常用于循环
$*和$@ 都表示参数列表 
expr m + n 计算整数计算
$(((2+3)*4)) (2+3)*4计算
  1. 循环for
for n in 列表
    do 
    echo $n
    donefor ((i = 0; i <= 5; i++))
    do
        echo "welcome $i times"
    done
  1. 循环while
while expression
    do
    command
    …
    done
        i=1
    while ((i<=3))
    do
      echo $i
      let i++
    done
  1. case
case $1 in
    start)
        echo "starting"
        ;;
    stop)
        echo "stoping"
        ;;
    *)
        echo "Usage: {start|stop} “ esac
  1. if 判断
if [ 条件 ]
      then 
        echo 
       elif [ 条件 ]
         echo 
         else 
         echo 
    fi

例子

#!/bin/bash
read -p "please input your name:" NAME
#printf '%sn' $NAME
if [ $NAME = root ]
        then
                echo "hello ${NAME},welcome !"
        elif [ $NAME = wang ]
                then
                        echo "hello ${NAME},welcome !"
        else
                echo "get out here !"
fi

条件:非空返回true,可使用$?验证(0为true,>1为false)
[ condition ] && echo OK || echo notok
条件满足,执行后面的语句

常用判断条件

  • = 字符串比较
  • -lt 小于
  • -le 小于等于
  • -eq 等于
  • -gt 大于
  • -ge 大于等于
  • -ne 不等于
    权限
  • -r 有读的权限
  • -w 有写的权限
  • -x 有执行的权限
  • -f 文件存在并且是一个常规的文件
  • -s 文件存在且不为空
  • -d 文件存在并是一个目录
  • -b文件存在并且是一个块设备
  • -L 文件存在并且是一个链接
    shell 自定义函数
    格式:
    function name()
    {
    echo ” “;
    return []
    }
    例子:
#!/bin/bash
s1=$1;
s2=$2;
function sum()
{
  sum=$(($1+$2));
  echo $((s1+s2));
  return $sum;
}
sum 3 4;
total=$?;
echo $total,$?;

注:$?返回上个语句的返回值

sh -vx fun.sh 可以看到执行的过程,但是不停
如图:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读