从文件执行shell脚本

时间:2014-10-27 08:50:32

标签: shell sh sunos

我的操作系统平台是这样的:SunOS machinehull01 5.10 Generic_148888-05 sun4v sparc SUNW,Sun-Fire-T200

我编写了一个从文件

运行的shell脚本

文件名:test.sh

#!/bin/sh
VARNAME=$grep '-l' TestWord /home/hull/xml/text/*.txt
echo "Found $VARNAME"

当我在控制台中运行上述命令时,我得到正确的输出而没有错误,但当我运行 sh test.sh ./ test.sh 我的错误

test.sh: -l: not found
Found

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

您正在搜索所谓的“命令替换”:

VARNAME=$(grep -l TestWord /home/hull/xml/text/*.txt)
echo "Found $VARNAME"

它将在子shell中执行$(和右括号)之间的命令,并将命令的输出返回到VARNAME

答案 1 :(得分:0)

知道了。

#!/bin/sh
VARNAME=`grep -l TestWord /home/hull/xml/text/*.txt`
echo "Found $VARNAME"

我必须把那些(`)放在那里。