Linux 这个bash语法是什么意思?(特写:案例,执行官)
这个bash脚本的目的是什么?(这是较大脚本的一部分。) 一个相关问题:Linux 这个bash语法是什么意思?(特写:案例,执行官),linux,bash,Linux,Bash,这个bash脚本的目的是什么?(这是较大脚本的一部分。) 一个相关问题: 我不知道任何bash脚本,我会这么说 查找参数数是否大于0 如果是,它将查看第一个参数 如果它以-开头,它什么也不做 否则,它将作为单个命令行执行所有参数 该案例。。。esac部分是一个开关语句。如果$1与-*匹配(即如果它以-开头),则将执行第一个案例,并且不会执行任何操作。否则(如果$1匹配*,这取决于shell设置,可能会排除以开头的内容)exec$*将运行 在这一点周围有一条if语句,确保只有在实际有任何参数
我不知道任何bash脚本,我会这么说
- 查找参数数是否大于0
- 如果是,它将查看第一个参数
- 如果它以
开头,它什么也不做-
- 否则,它将作为单个命令行执行所有参数
- 如果它以
案例。。。esac
部分是一个开关
语句。如果$1
与-*
匹配(即如果它以-
开头),则将执行第一个案例,并且不会执行任何操作。否则(如果$1
匹配*
,这取决于shell设置,可能会排除以
开头的内容)exec$*
将运行
在这一点周围有一条if语句,确保只有在实际有任何参数需要检查时(参数计数大于零)才执行开关。英语,逐行:
if the number of arguments is greater than 0
then
if the first argument...
starts with '-', do nothing
else, "exec" the arguments (run the entire set of arguments as a command replacing this process, not as a child process)
(end of case)
(end of if)
它接受传入的第一个参数,并与其余参数一起执行,即:
./script.sh ls dir1 dir2
就好像你打过字一样
ls dir1 dir2
如果此脚本的命令行上放置的第一个参数是文件,而不是选项,则尝试将其作为可执行文件或脚本运行
ls dir1 dir2