shell 1 脚本入门

shell脚本

  shell文件的第一行指定要使用的shell,

  #!/bin/bash

  #在shell中是注释,但是在shell脚本中第一行是一个例外,这里是一个声明,!号会告诉shell用哪个shell来运行脚本(这里使用的是bash shell)

  

创建脚本

 

 执行脚本

 

 

脚本不能执行的原因:

  1 系统执行可执行文件需要在环境变量的查找路径里PATH(使用相对路径时,如果使用绝对路径不存在这样的问题)

  2 script1.sh没有可执行的权限

 

 

 

命令输出赋值给变量

  1 反引号字符(键盘左上角)

  2 $()

 

 

执行脚本

 

重定向

  输出重定向: command > outputfile

  输出重定向:> 如果目标文件不存在,创建;如过目标文件存在,覆盖

  追加输出重定向:>>如果目标文件不存在,创建;如过目标文件存在,追加

  

  输入重定向:command  < inputfile

  内联输入重定向: command << marker

           data

           marker

管道

  command1 | command2

  linux实际上会同时运行这两个命令,并不是第一个命令运行完了才运行第二个命令的。

  

 

 

   管道是实时运行的,只要command1有输出,command2就会立即对此输入进行处理,不会等command1所有的都处理完,command2才去处理1的输出结果。

 

退出状态码

  shell中运行的每个命令都是用退出状态码(exit status)告诉shell它已经运行完毕。退出状态码是一个0~255的整数值,在命令结束运行时,由命令传给shell.

  正常情况下,shell脚本会以脚本中最后一个命令的退出状态码退出。

  $?来保存上一个已执行命令的退出状态码。

状态码 描述
0 命令成功结束
1 一般性未知错误
2 不适合的shell命令
255 正常范围之外的退出状态码

  exit可以改变shell脚本中的退出码值

 

退出状态码在0 - 255 之间 如果退出状态码的值超出这个范围,那么就会这个状态码的值对256取余(取模)得到的结果是88.

 

  

 

posted @ 2021-09-12 11:07  甲壳虫~~~  阅读(128)  评论(0编辑  收藏  举报