比方说,你有一个alias像bash 一样:
alias rxvt='urxvt'
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.
然而:
alias rxvt='urxvt -fg '#111111' -bg '#111111''
Run Code Online (Sandbox Code Playgroud)
不会起作用,也不会:
alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\''
Run Code Online (Sandbox Code Playgroud)
那么,一旦转义了引号,你最终如何在字符串中匹配开头和结尾的引号?
alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\''
Run Code Online (Sandbox Code Playgroud)
看起来很笨拙虽然如果你允许这样连接它们就会代表相同的字符串.
有人能告诉我是否应该在shell脚本中包含变量的引号?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)
要么
xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
function foo() {
A=$@...
echo $A
}
foo bla "hello ppl"
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
"bla""hello ppl"
我需要做什么而不是省略号?
我需要回显一些文字。喜欢text "hey"
如果我尝试将代码echo "text "hey""输出为text hey
那么,如何显示双引号呢。谁能帮我这个。
我需要使用如下语法运行命令:
runuser -l userNameHere -c '/path/to/command arg1 arg2'
不幸的是,我必须'在命令本身中嵌入其他字符,我不能告诉bash正确解释它们.我想要运行的命令实际上是:
runuser -l miner -c 'screen -S Mine -p 0 -X eval 'stuff "pwd"\015''
不幸的是,bash似乎正在击中第二个'并且呕吐.这是错误:
-bash: screen -S Mine -p 0 -X eval stuff: No such file or directory,显然它没有超越'.
如何将其作为一个命令嵌套?谢谢!
我想在 bash 中转义双引号,我遵循了以下方法:
#!/bin/bash
this is a \"number\"!
Run Code Online (Sandbox Code Playgroud)
但我需要知道是否有另一种方式。