当前位置:   article > 正文

xshell脚本常规基础命令,语法,知识点归纳<持续更新>

xshell脚本

1.常规基础

1.1.脚本基础

  • 脚本的开头须以 #!/bin/bash 进行声明

1.2.脚本基本命令

  1. #创建一个脚本文件
  2. touch start.sh

1.3.权限相关

1.3.1.权限判断

        -r (有读的权限) -w(有写的权限)-x(有执行的权限)

1.3.2.权限更改

        执行脚本过程中,如果遇到没有访问执行权限的情况下,可执行:chmod 777 start.sh(该命令意义:可读可写可执行),修改后文件名称会发生变化

1.3.3.格式更改

当操作进入目录等操作过程中,提示no such file or directory时,其中一种情况为文件格式非unix,此时需要进行修改,如下:

  • vim start.sh (进入脚本)
  • :set fileformat (按: 输入 set fileformat 回车显示文件格式:如fileformat=dos则需要进行更改)
  • :set ff=unix 或者 set fileformat=unix 回车即可
  • :wq 回车(保存并退出)

1.4.定义变量

  1. v1=hello
  2. echo $v1 #hello
  3. v2='这里是 v2 变量'
  4. echo $v2 #这里是 v2 变量
  5. v3="这里是 v3 变量"
  6. echo $v3 #这里是 v3 变量
  7. v4="引用 v2 变量 => ${v2}"
  8. v5='引用 v3 变量 => ${v3}'
  9. echo $v4 #引用 v2 变量 => 这里是 v2 变量
  10. echo $v5 #引用 v3 变量 => ${v3}
  11. v6=$(command ls)
  12. echo $v6

注意:

  • 变量名称、等号、值中间不允许存在空格的情况
  • 单引号为直接展示的内容,可以理解为js中的字符串,无论写什么值,均会原封不动的输出
  • 双引号为可以定义引用变量的形式,及通过 ${var} 这样的形式进行变量的嵌套使用
  • 双引号中使用变量的过程中,也可以直接通过 $var 的方式进行使用
  • 总结:单引号不会解析,双引号会解析变量值
  • 使用``或者$()的形式可以将command命令进行赋值使用
  • unset 删除变量 unset 变量名

1.5.判断语句

  1. v1=1
  2. v2=2
  3. if [ $v1 -eq $v2 ]; then
  4. echo '这里是 if 判断分支 a'
  5. else
  6. echo '这里是 else 判断分支 a'
  7. fi
  8. if [ $v1 -eq $v1 ]; then
  9. echo '这里是 if 判断分支 b'
  10. elif [ $v1 -lt $v2 ]; then
  11. echo '这里是 elif 判断分支 b'
  12. else
  13. echo '这里是 else 判断分支 b'
  14. fi

注意:

  • 判断条件中 [ ] 内前后必须有空格,否则执行报错
  • if 后面需要有空格

1.6.case in语句

  1. v1=2
  2. case $v1 in
  3. 1)
  4. echo '这里是 case 1'
  5. ;;
  6. 2)
  7. echo '这里是case 2'
  8. ;;
  9. *)
  10. echo '这里是默认执行'
  11. ;;
  12. esac

 注意:

  • 每个case中,必须通过 ;; 进行结束,否则执行异常
  • * 相当于时js中的default,默认执行程序

 1.7.for in语句

  1. for n in 1 2 3 4 5; do
  2. echo "第一个循环 ${n}"
  3. done
  4. for n in {0..10}; do
  5. echo "第二个循环 $n"
  6. done

注意:

  • 第一种循环中,所给定的 循环值 范围中,不可以使用 , 拼接,否则会将范围作为一个完整结果输出;但是如果使用 ’‘ <引号> 进行包裹的情况下,会按序进行循环输出
  • 第二种循环中,给定的 循环值 范围中,第一个值为初始值,第二个值为最大阈值,言外之意
  • 第二种循环中,循环值 范围中使用 .. 进行连接 <只有两个点>

1.8.while语句

  1. v1=1
  2. while (($v1 < 2)); do
  3. echo '这里是走进while中的结果'
  4. v1+=1
  5. done

 注意:

  • 需要在执行体中进行相对应的条件判断更改,否则会出现死循环的情况

 1.9.function 方法

  1. function fun() {
  2. echo "这里是函数执行" $1
  3. # read -p "请输入数字:" v1
  4. return $v1
  5. }
  6. fun2(){
  7. echo '这里是函数执行 b'
  8. }
  9. fun $1
  10. echo "这里是上述函数的返回值 " $?

 注意:

  • 区别于js,方法定义以后,调用该方法,不需要 () 
  • 执行脚本上,可在脚本后跟随相对应的参数,于函数中进行获取顺序如下:
    • start.sh 123
    • 脚本中调用函数 fun $1 <此处的$1为获取脚本执行时传入的位置参数>
    • 函数内亦可以使用 $1 进行获取

2.复杂应用

2.1.read命令

2.2.sleep命令

2.3.cut命令

3.4.sort命令

2.5.uniq命令

2.8.test命令

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/197313
推荐阅读
  

闽ICP备14008679号