谁能解释一下如何使用以下语法
var5=$@ #All the arguments are individually double quoted
var1=`echo ${var5} | cut -d "=" -f2| cut -d "|" -f1`
我刚刚开始学习 shell 脚本,请详细解释一下这部分的作用?
最佳答案
第一行应该很容易理解。它只是将传递给命令的所有参数存储在变量中。
如果您的脚本启动为
bash script.sh these are my parameters
然后 var5 将包含“这些是我的参数 1=”。
然后第二行,也是一个变量赋值,由3个命令组成:
echo ${var5}
这将简单地回显 var5 作为程序的输入。
cut -d "=" -f2
这将获取输入,用“=”分隔符分割字符串并获取第二个字段。如果 var5 包含 a=b=c 那么此命令将返回 'b'。
cut -d "|" -f1
这与上一个命令类似,但将使用“|”进行分割作为分隔符,并将采用第一个字段。
假设您调用命令为
bash k.sh paramater="a|b invalid=param"
然后:
- “parameter=a|b invalid=param”将被分配给 var5
- “parameter=a|b invalid=param”将被回显
- “a|b invalid”将是第一次剪切的结果。
- “a”将是第二次剪切的结果,并将存储在 var1 中。
关于shell - shell/bash 脚本中使用 cut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45229337/