shell脚本引号消失

时间:2012-12-05 02:17:45

标签: linux shell

我正在尝试编写一个shell脚本,并获取输入参数,例如:

./test abc def ghi

如果脚本中有echo $*,它会列出参数,但引号会消失,如

./test abc "def ghi" - > abc def ghi

我不想用反斜杠作为./test abc \"def ghi\"来运行命令,尽管它可以解决这个问题。 echo $2无法解决其中的引用,例如./test abc "def ghi "jkl" mno"

还有其他方法可以解决吗?谢谢:))

2 个答案:

答案 0 :(得分:2)

你可以通过将双引号括在单引号中来实现,如下所示:

./test abc '"def ghi"'

<强>解释

单引号括起来的所有内容都被shell解释为字符串文字。以下是有关Strong Quoting vs. Weak Quoting的更多信息。

答案 1 :(得分:2)

您也可以使用单引号:

./test abc '"def ghi"'