我正在尝试编写一个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"
还有其他方法可以解决吗?谢谢:))
答案 0 :(得分:2)
你可以通过将双引号括在单引号中来实现,如下所示:
./test abc '"def ghi"'
<强>解释强>
单引号括起来的所有内容都被shell解释为字符串文字。以下是有关Strong Quoting vs. Weak Quoting的更多信息。
答案 1 :(得分:2)
您也可以使用单引号:
./test abc '"def ghi"'