Art*_*lma 11 shell bash quoting
此刻我有:
#!/bin/bash
screen -p 'ScreenName' -x eval 'stuff '"'"$@"'"'\015'
echo eval 'stuff '"'"$@"'"'\015'
Run Code Online (Sandbox Code Playgroud)
但是当我将我的脚本称为:
# script.sh asd "asd" 'asd'
Run Code Online (Sandbox Code Playgroud)
我的参数传递为:asd asd asd
我得到输出:
eval stuff 'asd asd asd'\015
Run Code Online (Sandbox Code Playgroud)
我除了 a: asd "asd" 'asd'
如何更改我的脚本以传递带有所有引号的整个参数行?
您的 shell 没有将引号传递给脚本。如果要传递引号,请使用反斜杠将它们转义:
# ./script.sh asd \"asd\" \'asd\'
Run Code Online (Sandbox Code Playgroud)