【发布时间】:2013-08-07 15:08:07
【问题描述】:
我正在尝试从 file.sh 中的变量执行 linux 命令。
test.sh
OUT="日期";
回声 $OUT;输出:
它运行良好。
但是当我尝试执行命令 pgrep vpnc
OUT="pgrep vpnc";
回声 $OUT;输出
test.sh: 1: test.sh: pgrep vpnc: 未找到
我的期望是当上面的文件被执行时,它会返回 pid。
我也试过 eval。
OUT="pgrep vpnc";
$ 评估 $OUT;输出:
test.sh:1:test.sh:pgrep vpnc:未找到
test.sh: 2: test.sh: $: 未找到
谁能帮助我如何运行命令并将其值存储在变量中。
非常感谢任何帮助。
【问题讨论】:
-
你为什么要将完整的命令存储在一个变量中?你不能只运行命令吗?当然,除非您使用的是用户输入,这似乎是一个等待发生的安全问题。
-
您发布的代码没有按照您的想法进行。
=和命令之间的空格使您可以简单地将带引号的字符串作为命令运行,并在其环境中使用空值变量OUTPUT。