从文件执行shell脚本



我的操作系统平台是:SunOS machinehull01 5.10 Generic_14888-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

有人能帮我吗?

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

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

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

明白了。

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

我不得不把那些(`)放在那里。

相关内容

  • 没有找到相关文章