标签: quoting

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

比方说,你有一个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万
查看次数

什么Vim命令可用于引用/取消引用单词?

如何快速报价/引文结束词和引述的变化(例如从'")在Vim中?我知道surround.vim插件,但我想只使用Vim.

vim quoting

184
推荐指数
11
解决办法
9万
查看次数

我刚刚分配了一个变量,但echo $ variable显示了其他内容

以下是一系列echo $var可以显示与刚刚分配的值不同的值的情况.无论指定的值是"双引号","单引号"还是不引用,都会发生这种情况.

如何让shell正确设置我的变量?

星号

预期的输出是/* Foobar is free software */,但我得到一个文件名列表:

$ var="/* Foobar is free software */"
$ echo $var 
/bin /boot /dev /etc /home /initrd.img /lib /lib64 /media /mnt /opt /proc ...
Run Code Online (Sandbox Code Playgroud)

方括号

期望值是[a-z],但有时我会得到一个字母!

$ var=[a-z]
$ echo $var
c
Run Code Online (Sandbox Code Playgroud)

换行(换行符)

预期值是一个单独的行列表,但所有值都在一行!

$ cat file
foo
bar
baz

$ var=$(cat file)
$ echo $var
foo bar baz
Run Code Online (Sandbox Code Playgroud)

多个空间

我期望一个精心对齐的表头,但是多个空格要么消失要么折叠成一个!

$ var="       title     |    count"
$ echo $var
title | count
Run Code Online (Sandbox Code Playgroud)

标签

我期望两个制表符分隔值,但我得到两个空格分隔值!

$ …
Run Code Online (Sandbox Code Playgroud)

bash shell sh quoting

87
推荐指数
4
解决办法
15万
查看次数

如何正确嵌套Bash反引号

要么我错过了一些强烈反对或反对,似乎没有太多的程序员报价循环.

$ echo "hello1-`echo hello2-\`echo hello3-\`echo hello4\`\``"

hello1-hello2-hello3-echo hello4
Run Code Online (Sandbox Code Playgroud)

通缉

hello1-hello2-hello3-hello4-hello5-hello6-...
Run Code Online (Sandbox Code Playgroud)

unix bash shell quoting

82
推荐指数
4
解决办法
4万
查看次数

在PHP中将CSV写入没有机箱的文件

是否有本机函数或实体类/库,用于将数组作为一行写入没有机箱的CSV文件中?如果机箱参数没有传入任何内容,则fputcsv默认为".谷歌让我失望(返回大量网页的结果fputcsv),而PEAR的图书馆或多或少地做了相同的事情fputcsv.

一些完全相同的东西fputcsv,但会让字段保持不带引号.

目前: "field 1","field 2",field3hasNoSpaces

期望: field 1,field 2,field3hasNoSpaces

php csv quotes quoting

48
推荐指数
3
解决办法
5万
查看次数

quasiquotations中"quasi"的含义是什么?

像Haskell(或Nemerle)这样的语言有quasiquotations.我想知道"准"是什么意思,如果没有"准"部分也存在"引用".

haskell programming-languages metaprogramming quoting nemerle

41
推荐指数
3
解决办法
3351
查看次数

使用Bash变量构建JSON字符串

我需要将这些bash变量读入我的JSON字符串,我不熟悉bash.任何帮助表示赞赏.

#!/bin/sh

BUCKET_NAME=testbucket
OBJECT_NAME=testworkflow-2.0.1.jar
TARGET_LOCATION=/opt/test/testworkflow-2.0.1.jar

JSON_STRING='{"bucketname":"$BUCKET_NAME"","objectname":"$OBJECT_NAME","targetlocation":"$TARGET_LOCATION"}'


echo $JSON_STRING 
Run Code Online (Sandbox Code Playgroud)

bash json quoting

35
推荐指数
8
解决办法
3万
查看次数

为什么shell忽略通过变量传递给它的参数中的引号?

这与宣传的一样:

# example 1
#!/bin/bash
grep -ir 'hello world' .
Run Code Online (Sandbox Code Playgroud)

这不是:

# example 2
#!/bin/bash
argumentString="-ir 'hello world'"
grep $argumentString .
Run Code Online (Sandbox Code Playgroud)

尽管'hello world'在第二个例子中被引号括起来,但grep解释'hello为一个参数和world'另一个参数,这意味着,在这种情况下,'hello将是搜索模式world'并将成为搜索路径.

同样,这仅在从argumentString变量扩展参数时发生.grep 'hello world'在第一个示例中正确解释为单个参数.

谁能解释为什么会这样?有没有一种正确的方法来扩展一个字符串变量,它将保留每个字符的语法,以便shell命令正确解释它?

variables syntax bash quoting expansion

33
推荐指数
3
解决办法
6094
查看次数

Python模块到shellquote/unshellquote?

Python标准库中是否有任何内容可以正确解析/解析字符串以便在shell命令中使用?我正在寻找perl的python模拟String::ShellQuote::shell_quote:

$ print String::ShellQuote::shell_quote("hello", "stack", "overflow's", "quite", "cool")
hello stack 'overflow'\''s' quite cool
Run Code Online (Sandbox Code Playgroud)

而且,更重要的是,它会在相反的方向上起作用(取一个字符串并将其分解为一个列表).

python shell quoting

32
推荐指数
5
解决办法
1万
查看次数

在shell中用双引号字符串转义反引号

对于命令:/ usr/bin/sh -c"ls 1`"(1之后的反引号).

如何让它成功运行?在"`"之前添加反斜杠不起作用.`是我们所知道的一个特殊字符,我也尝试使用单引号将其包围起来(/ usr/bin/sh -c"ls 1'`'"),但这也不起作用.

错误始终是:

% /usr/bin/sh -c "ls 1\`"
Unmatched `
Run Code Online (Sandbox Code Playgroud)

shell quotes quoting backticks

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