代码改变世界

shell脚本学习记录

2023-08-23 12:02  HQS_blog  阅读(4)  评论(0编辑  收藏  举报

参考文章:https://blog.csdn.net/weixin_43288201/article/details/105643692

 

1.脚本必须有可执行权限

chmod +x test.sh   //给test.sh文件的所有组增加可执行权限,也可以根据数字增加 可读4、可写2、可执行1 如:chmod 755 test.sh

 2.脚本的调用形式 以及编写规范

    2.1脚本需要以  #!/bin/bash 开头,用来声明脚本用什么shell解释器解析,不写则是默认shell解析 默认解析路径为/bin/bash

    2.2脚本调用形式

          ./test.sh     //使用脚本第一行指定的解析器解析

          bash test.sh    //使用bash解析,不存在则使用默认解析器

          . test.sh   //直接使用默认解析器解析

 3.定义变量

  3.1变量名=变量值   num=10

     引用这个变量    $num

     设置成只读变量   readonly num=10

     清除变量    unset num

  3.2从键盘读取输入的值,read data1 data2

      读取之后引用 $data1

  3.3 查看环境变量   env

  3.4导出环境变量 export,使其设置为全局变量(shell脚本和命令行均可使用该变量)

    命令为:source testenv.sh 或者   . testenv.sh

   在其他脚本中使用全局变量

   3.5shell脚本中单引号、双引号、反引号

    单引号不能解析变量,会将$num当成字符处理

    双引号可以解析变量,会将$num当成变量处理

    反引号:反引号中的内容会作为系统命令识别并执行

 

  3.6 shell中无需自定义的变量,如图

   3.7变量是否存在

    ${num:-val}  如果num存在,则变量值为num.;否则为val

    ${num:=val}  如果num存在,则变量值为num.;否则为val,并将val的值赋值给num  

  3.8字符串操作

 4.条件测试

  4.1 test命令,格式为test condition 或者[ condition ]

 

4.2  shell判断是否为空

第一种方法:

if [ ! -n "$2" ] ; then
 echo "IS NULL"
fi

第二种方法:
if [ ! $2 ] ; then  
 echo "$2是空"
fi

 

 5.控制语句

 

 

   for循环语句

 

 6.函数