在脚本中执行命令并将结果存储在bash中的文件中

时间:2017-11-04 16:17:52

标签: linux bash io

我正在尝试存储在脚本中编写的此命令的结果

ls -l /etc|wc -l

在另一个文件的变量中。 总而言之,我有一个带有该命令的脚本,当我执行它时,我希望将结果存储在另一个文件的变量中。 有人可以帮帮我吗?

3 个答案:

答案 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

如果后者是你想要的,你能告诉我们更多关于你想要完成的事情吗?可能比你的建议更好。