美文网首页
Linux: shell编程总则

Linux: shell编程总则

作者: LET149 | 来源:发表于2023-09-30 09:55 被阅读0次

    note:所有编写的shell程序,其文件名的结尾请以sh命名,便于分辨这是一个shell脚本

    1. 指定执行所编写程序的shell

    #! /bin/bash #这里使用bash这种shell,要给出指定shell的绝对路径 ,只有第一行的第一个#具有此功能,其余#都表示一般注释

    2. 执行编写的程序

    方法一:把要执行程序的绝对路径添加到系统环境变量PATH中
    方法二:直接给出要执行程序绝对路径
    方法三:sh 要执行程序的名称

    3. 调用变量

    • 可以调用的变量包括环境变量和用户变量
    • 环境变量指由系统保有和维护的一组变量,记录着系统的一些信息,这些变量的变量名一般都是全部大写字母,用set可以显示当前的全部环境变量
    • 用户变量指由用户自己定义的变量,基本语法为变量名=变量值,等号两边均不能空格
    • 对环境变量和用户变量的调用均通过在变量名前加上$来实现

    4. 显示信息

    • 在shell中,信息的显示(打印)主要通过echo来实现,以下主要介绍echo的用法
    echo It is a test  #打印文本
    echo "It is a test"  #打印字符串
    echo $变量名  #打印变量值
    echo "The number is $变量名"  #在输出的字符串中调用变量,虽然这些变量在双引号内,但这些变量依然可以被调用
    echo -n "The number is: "  #参数-n表示输出不换行,即接下来的输出和此处的输出处于同一行中
    

    5. 变量传递

    • 从某一命令的输出中提取结果并将其赋值给某个变量
    • 方法一:使用反引号 aa=`date`
    • 方法二:使用$来提取 aa=$(date)

    6. 输出和输入重定向

    6.1 输出重定向
    • 方法一:使用>号 cat kk > cc,查看kk的内容并将其存储在cc中
    • 方法二:使用>>号 cat kk >> cc,查看kk的内容并将其添加到cc文件的文末
    6.2 输入重定向
    • 方法一:使用<号 cat < kk,查看kk的内容
    • 方法二:使用<<号 cat <<EOF > kk或者cat > kk << EOF,从标准输入输入以EOF结尾的信息,查看此信息,并将此信息储存在kk中;EOF是End Of File的缩写,代表“文本结束符”,在实际输入时,EOF这三个字母可以换成任何字符,标准输出在EOF出现时(command中的EOF)开始,在第二个EOF(输入中的EOF)出现时结束;EOF本身不会被当成输入。此方法被成为“内联输入重定向“
    • 向文件中写入内容的四种方法
    • cat << EOF > kk 从标准输入读入内容并写入kk中,如果kk存在则会覆盖kk中原有内容;如果kk不存在则会创建kk并写入内容
    • cat << EOF >> kk 从标准输入读入内容并写入kk中,如果kk存在则会添加新内容到kk的文末;如果kk不存在则会创建kk并写入内容
    • cat > kk << EOF 从标准输入读入内容并写入kk中,如果kk存在则会覆盖kk中原有内容;如果kk不存在则会创建kk并写入内容
    • cat >>kk << EOF 从标准输入读入内容并写入kk中,如果kk存在则会添加新内容到kk的文末;如果kk不存在则会创建kk并写入内容

    7. 管道和进程替换

    • 这两个操作的目的都是把一个(或多个)命令的输出传递给另一个命令
    进程替换
    • 把一个或多个进程的结果同时传递给同一个命令
      sort <(ll .) <(ll ..) <(ll ../..) 分别查看三级目录,将这三个结果输出到同一个文件中(在文件中的顺序和command中的顺序一致,左边在上,右边在下),并对这个文件中的内容进行排序
    • 注意:需要被传递结果的command需要被放置在圆括号内;圆括号之前要加上<表示输出的定向;圆括号和<之间不能有空格

    8. 数学运算

    • 使用[ ]可进行简单的数学运算,aa=$[1+6]

    9. 退出脚本

    • 脚本在执行结束后,会自动退出,并会生成一个退出状态码,这是一个介于0-255之间的整数,这个退出状态码在Linux中由环境变量$?表示,可由echo $?进行查看
      退出状态码.png
    • 为程序指定退出状态码:exit 5,此处指定退出状态码为5
    • 如果不指定退出状态码,程序会以最后一个命令的退出状态码退出

    10. 一个shell编程实例

    相关文章

      网友评论

          本文标题:Linux: shell编程总则

          本文链接:https://www.haomeiwen.com/subject/qlfwjktx.html