我有一个名为“physics 1b.sh“。在狂欢中,如果我尝试

x="physics 1b"
grep "string" "$x".sh

格雷普抱怨:

grep:  physics 1b: No such file or directory.

但是,当我这样做

grep "string" physics\ 1b.sh 

它可以正常工作。因此,我想问题与未扩展的变量有关,以包括GREP需要识别空间的后斜线。我该如何工作?

使用Bash 3.2,Mac OS 10.6。

编辑:
没关系,问题是X设置为 " physics 1b", ,但是当我这样做的时候 echo $x 要检查内容物,请击碎前面的空间,这样我就不能说它有所不同。上面的第一种方法实际上是有效的。

有帮助吗?

解决方案

将整个论点放入双重报价中:

grep "string" "$x.sh"

其他提示

在您的脚本中使用它。

grep "string" "${x}.sh"

另一种方式

grep "string" "${x}.sh"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top