sell脚本基础

304 阅读2分钟

Sell / Bush 脚本

Linux系统中的Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当一个”命令解释器“的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出结果。 它是用户使用 Linux 的桥梁。

Shell 既是一种命令语言,又是一种程序设计语言。

一些常见的sell

bash:基于GUN的框架下发展的shell

sh:已经被bash替换

nologin:让用户无法登录

 

bash(/bin/bash)是目前大多数 Linux 版本采用的默认 shell。

 

 

格式

 文件格式以 .sh 结尾

一般会开头申明解释器:

如: “#!/bin/bash”,表示此行以下的代码语句是通过/bin/bash程序来执行。还有其他类型的解释器,比如 #/usr/bin/python、#!/usr/bin/expect 。

 

  • 注释信息

以“#”开头的语句表示为注释信息,被注释的语句在脚本运行时不会被执行。

set -e    //在开头设置 遇到错误 是停止运行 此脚本   一般不建议运行

脚本执行逻辑:

  1. 顺序执行:程序按从上到下顺序执行

  2. 选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行

  3. 循环执行:程序执行过程中需要重复执行多次某段语句

  即使中间 有错误 也会继续往后执行

执行脚本方式

注:需要 执行权限 才能使用

  • 将文件存储在 $PATH 配置路径中 程序可以直接使用 文件名执行

  • 以 绝对/相对 路径 启动

  • sell  程序 + 脚本

  • source  和  .

source   脚本

source   脚本路径

调试:

注:建议使用 绝对路径

bash -x   文件名/文件路径   //模拟执行

bash -n  文件名/文件路径   //调试脚本   检测语法错误

 

 

变量格式:

变量名=路径 或 字符

变量名=$ ( 指令 )

 

特殊变量:

$@   //它展示了所有传递给脚本或函数的参数,每个参数都以单独的引号括起来,保留了参数中的空白

$*    //它展示了所有传递给脚本或函数的参数,并将它们当作一个单词来处理(即忽略其中的空白字符)

$?   //它保存了上一个命令的退出状态码(返回值),如果命令执行成功,它的值为0,否则为非零值,非零值可能表示发生了错误或者异常

$#    //它包含传递给脚本或函数的参数的数量