1

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

./test abc def ghi

如果echo $*脚本里面有一个,它会列出参数,但是引号会消失,比如

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

我不想用反斜杠 as 运行命令./test abc \"def ghi\",尽管它可以解决这个问题。echo $2不会解决里面的报价,比如./test abc "def ghi "jkl" mno"

有没有其他方法可以解决它?谢谢:)

4

2 回答 2

3

您可以通过将双引号包含在单引号中来做到这一点,如下所示:

./test abc '"def ghi"'

解释:

用单引号括起来的所有内容都被 shell 解释为字符串文字。这是有关强引用与弱引用的更多信息。

于 2012-12-05T02:19:24.317 回答
2

您还可以使用单引号:

./test abc '"def ghi"'
于 2012-12-05T02:19:31.773 回答