这个 Shell 脚本的构造在如下两种情境中判断当前脚本是被直接执行还是被 source: 脚本被直接执行(如./script.sh):此时$0与${BASH_SOURCE[0]}相同,都是脚本的名称,因此这个条件判断成立,main函数或其他指定的代码将会执行。 脚本被 source (如source script.sh或. script.sh):此时$0通常不等于脚本的名称,而是保持...
一、Shell脚本变量的含义 1、$#:表示执行脚本传入参数的个数 2、∗:表示执行脚本传入参数的列表(不包括0) 3、$$:表示进程的id;Shell本身的PID(ProcessID,即脚本运行的当前 进程ID号) 4、$!:Shell最后运行的后台Process的PID(后台运行的最后一个进程的 进程ID号) 5、@:表示执行脚本传入参数的所有个数(不...
由于ls /应该会执行成功,因此运行脚本后输出Exit status code: 0,表示上一个命令执行成功。 7. $$:当前进程ID号 $$是一个特殊的变量,用于获取当前正在运行的Shell脚本的进程ID(PID)。 这个变量对于在Shell脚本中跟踪和识别进程非常有用,或者将PID用于生成唯一的临时文件名。 以下是一个简单的示例脚本,它使用$$...
shell中有两类字符:普通字符、元字符。 1. 普通字符 在Shell中除了本身的字面意思外没有其他特殊意义,即普通纯文本; 2. 元字符 是Shell的保留字符,在Shell中有着特殊的含义。 今天主要介绍一下shell中字符$的各种用法。 二、转义字符$ 在linux shell脚本中经常用到字符$,下面是$的一些常见用法 名称含义 实例1...
3、if [ $? == 0 ]等价于 if [ $? -eq 0 ] 。 所以,if [ $? == 0 ]这条语句,主要就是可以用来判断上一个命令执行后的退出状态。 在平时编写 shell 脚本的时候,是经常会看到有使用if语句以及$?的,语法简单而且非常有用。如: if [ "$?" != 0 ] ; then ...
建立脚本peng.sh如下: #/bin/bash total=$[$1*$2+$3] echo"$1*$2+$3=$total" 1. 2. 3. 运行如下: ./peng.sh456 1. 结果如下: 实例2 当把字符串输入给shell脚本的时候,注意是以空格作为分隔符,如果字符串本身就有空格的话,那么用双引号或者单引号,比如 ...
名称含义$#传给脚本的参数个数$0脚本本身的名字$1传递给该shell脚本的第一个参数$2传递给该shell脚本的第二个参数$@传给脚本的所有参数的列表$*以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$脚本运行的当前进程ID号$?显示最后命令的退出状态,0表示没有错误,其他表示有错误实例1 ...
原先刚学shell脚本的时候,经常会混淆$(( ))、${}、$()这些语法的使用,刚好最近有空,就来做一下相关的总结,方便后面查询。 一、和$相关的语法 (一) 单纯的$变量名 当我们定义完一个变量后(或者是已知环境变量中存在的变量名),那我们就可以通过在变量名前面加$的方式来引用这些变量 ...
当执行 shell 脚本时,$? 对应该脚本调用 exit 命令返回的值。如果没有主动调用 exit 命令,默认返回为 0。 当执行自定义的 bash 函数时,$? 对应该函数调用 return 命令返回的值。如果没有主动调用 return 命令,默认返回为 0。 下面举例说明 "$*" 和 "$@" 的差异。假设有一个testparams.sh脚本,内容如下:...
Shell中的$0、$1、$2的含义 $0 就是你写的shell脚本本身的名字 $1 是你给你写的shell脚本传的第一个参数 $2 是你给你写的shell脚本传的第二个参数 例子 脚本 代码语言:javascript 复制 #!/bin/bashecho $0 # 打印脚本文件名case$1in# start)echo $1;;# 第一个参数是start,打印第一个参数 ...