使用Bash脚本中的选项调用linux实用程序

Kyl*_*ing 0 bash scripting utilities find wc

这是我的第一个Bash脚本,如果这个问题很简单,请原谅我.我需要计算指定目录$ HOME/.junk中的文件数.我认为这很简单,并假设以下内容可行:

numfiles= find $HOME/.junk -type f | wc -l
echo "There are $numfiles files in the .junk directory."
Run Code Online (Sandbox Code Playgroud)

find $HOME/.junk -type f | wc -l在命令行输入完全符合我的预期,只需返回文件数.在我的脚本中输入时,为什么这不起作用?在将选项传递给实用程序时,我是否遗漏了一些特殊符号?

非常感谢您的时间和帮助.

Mar*_*off 5

你只需要用反引号包围它:

numfiles=`find $HOME/.junk -type f | wc -l`
Run Code Online (Sandbox Code Playgroud)

这个术语是命令替换.

  • 或者,更好的是,使用`$(find $ HOME/.junk -type f | wc -l)`.嵌套`$(...)`比使用后引号更少问题. (2认同)