我想把下面的字符串作为输入传递给shell脚本:
ant -f build.xml run -class_name="new_class" -arguments ="-n name -w default -print -o $1.txt"
我写了一个shell脚本如下:
#!/bin/bash
"$1"
输入:text.sh " ant -f build.xml run -class_name="new_class" -arguments ="-n name -w default -print -o $1.txt"
ant命令未找到
我还将环境变量包含到shell脚本中。但是我的ant脚本不是shell脚本的输入。
首先,如果您真的按照您发布的方式调用脚本,您应该得到一条错误消息:* ant -f build.xml .....* not found.
第二,你方的报价虽然不是无效,但很奇怪。你有一个带引号的字符串ant -f build.xml run -class_name=
,紧跟着一个不带引号的字符串new_class
。这样做的目的是什么?
如果您希望脚本完全按照给定的方式执行字符串,您可以简单地执行
$1
代替"$1"
,称其为
text.sh "ant -f build.xml run -class_name=new_class -arguments ='-n name -w default -print -o $1.txt'"
注意调用中引用的使用