shell - shell/bash 脚本中使用 cut

标签 shell

谁能解释一下如何使用以下语法

  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/

相关文章:

linux - 在 shell 脚本中与非 root 用户连接后更改 root

shell - 为 Vim 命令的 -complete 属性设置多个值

linux - Bash 脚本在从终端启动时可以正常工作,但在 .bashrc 调用时却无法正常工作

r - 用 R 做 OCR

linux - 在不同目录中执行脚本而不必使用完整路径

bash - 进程 argv 中的意外字符串转义

linux - ssh 连接,known_hosts 为空,但我收到警告 "REMOTE HOST IDENTIFICATION HAS CHANGED"并询问密码

bash - 如何在 shell 脚本中创建别名?

bash - 将文件夹树中的所有 .pdf 文件转换为 .png

linux - shell 脚本无法使用 grep 值设置环境变量