我正在尝试存储在脚本中编写的此命令的结果
ls -l /etc|wc -l
在另一个文件的变量中。 总而言之,我有一个带有该命令的脚本,当我执行它时,我希望将结果存储在另一个文件的变量中。 有人可以帮帮我吗?
答案 0 :(得分:1)
您可以尝试使用临时文件(如果可能)。
此命令:
ls -l /etc|wc -l > /tmp/myvar.txt
另一个档案:
myvar="$(cat /tmp/myvar.txt)"
答案 1 :(得分:0)
您只需要使用'>路径/到/文件'在命令的末尾将输出重定向到文件(这将覆盖文件内容)。
如果您需要其他行为,例如追加内容,则应使用'>>'而不是'>'。
查看here了解更多详情。
答案 2 :(得分:0)
我不确定我理解你要做的是什么,所以我会给你两个解决方案。
如果您提到的命令位于某个文件script_A.sh
中,并且您希望在运行其他脚本$var
时将该脚本的结果存储在某个变量script_B.sh
中,则randomir' s解决方案很好。在script_B中:
var=$(bash path/to/script_A.sh)
如果您要问的是运行script_A.sh
,然后让将新行写入文件,该文件会在您运行时将结果存储为值{{ 1}},我想你可以运行类似的东西:
script_B.sh
甚至替换已存在的script_B.sh中的一行:
result=$(ls -l /etc|wc -l)
echo "var=\"$result\"" > path/to/script_B.sh
如果后者是你想要的,你能告诉我们更多关于你想要完成的事情吗?可能比你的建议更好。