相关疑难解决方法(0)

如何在单引号字符串中转义单引号?

比方说,你有一个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)

看起来很笨拙虽然如果你允许这样连接它们就会代表相同的字符串.

syntax bash quoting

936
推荐指数
15
解决办法
40万
查看次数

通过命令行在git提交消息中使用撇号(单引号)?

试图采取这种进一步的一步,这怎么可能工作在一个标准的bash shell:

git commit -m 'cracked enigma's code'
Run Code Online (Sandbox Code Playgroud)

这可以简单地用反斜杠转义完成,如下所示:

git commit -m 'cracked enigma\'s code'
Run Code Online (Sandbox Code Playgroud)

此外,如何使用双引号?还通过反斜杠逃避?那会是最好的方式吗?有没有好的替代方法?

git commit -m 'cracked the "real" enigma's code'
Run Code Online (Sandbox Code Playgroud)

git bash escaping

54
推荐指数
2
解决办法
2万
查看次数

如何在Linux上传递带有感叹号的参数?

我有一个简单的Python脚本,它接收用户名和密码作为参数,但我的密码包含两个感叹号.当我把我的剧本称为

salafek@dellboy:~/Desktop/$ emailsender.py -u username -p pass!!
Run Code Online (Sandbox Code Playgroud)

我之前输入的命令替换了感叹号:

salafek@dellboy:~/Desktop/$emailsender.py -u username -p "passemailsender.py -u username -p passwget wget http://www.crobot.com.hr/templog"
Run Code Online (Sandbox Code Playgroud)

我可以使用反斜杠(\)来逃避感叹号,但我的密码会更改.

有解决方案,如何在不更改密码的情况下逃避感叹号?

linux shell arguments

38
推荐指数
2
解决办法
3万
查看次数

如何在 git url 的用户名或密码中转义“@”

在命令行上推送到 git 的格式之一是

Url format:
    https://{username:password@}github.com/{owner}/{repo}
Run Code Online (Sandbox Code Playgroud)

我的挑战是用户名和密码 - 用于我无法控制的共享帐户 - 包含@在其中(实际上两者都......)

在这种情况下我的选择是什么(而不是更改用户名、密码 - 这将需要一些额外的管理/协调步骤)。

git

2
推荐指数
1
解决办法
3116
查看次数

标签 统计

bash ×2

git ×2

arguments ×1

escaping ×1

linux ×1

quoting ×1

shell ×1

syntax ×1