Bash 如何将命令结果存储在shell变量中?
我想找出主目录中目录和文件的数量,并将其存储在shell变量中。我正在使用以下一组命令Bash 如何将命令结果存储在shell变量中?,bash,shell,Bash,Shell,我想找出主目录中目录和文件的数量,并将其存储在shell变量中。我正在使用以下一组命令 command="ls -l | grep -c \"rahul.*patle\"" eval $command 我想将结果存储在一个变量中。如何执行此操作?将命令输出存储到变量中的语法是var=$(command) 因此,您可以直接执行以下操作: result=$(ls -l | grep -c "rahul.*patle") 变量$result将包含匹配数。您可
command="ls -l | grep -c \"rahul.*patle\""
eval $command
我想将结果存储在一个变量中。如何执行此操作?将命令输出存储到变量中的语法是
var=$(command)
因此,您可以直接执行以下操作:
result=$(ls -l | grep -c "rahul.*patle")
变量
$result
将包含匹配数。您可能最好使用ls-1
(第一)而不是ls-l
和grep-cE
,具体取决于您的系统。是否可以保存变量,但是仍然同时保持终端输出吗?@Leo我认为这是不可能的。您可能可以为此使用一个中间文件:command | tee tmp_file
然后var=$(
。这执行命令;使用tee
您可以在终端输出中看到它,并且它也存储在文件tmp_文件
中;然后,将文件读入$var
。我只是用一个额外的管道tee
制作了它<代码>结果=$(ls-l | tee/dev/tty | grep-c“rahul.*patle”)@Leo哦,这是一个很好的结果!我刚才问了一个问题:。请随意将您的评论纳入其中,作为一般参考。