我是shell脚本的新手,需要将一系列命令输出到shell脚本中的局部变量,但要继续失败。例如,grep -c
输出到将在if
语句中使用的变量。如果有人可以将我重定向到解释该过程的来源,我将不胜感激。
#!/bash/sh
myVar = ls ~/bin | grep -c $0
答案 0 :(得分:4)
在shellcheck.net发布您的代码可以快速为您提供宝贵的指示:
myVar = ls ~/bin | grep -c $0
^-- SC2037: To assign the output of a command, use var=$(cmd) .
^-- SC1068: Don't put spaces around the = in assignments.
^-- SC2086: Double quote to prevent globbing and word splitting.
如果我们实现这些指针:
myVar=$(ls ~/bin | grep -c "$0")
另请注意,您的shebang行路径不正确 - #!
必须后跟执行shell二进制文件的完整路径。
bash
的资源,这是使用最广泛的POSIX兼容shell: