Questions tagged «quoting»

字符串通常用引号分隔,这引起了处理包含引号的字符串的问题。

2
为什么--text =“ $ @”仅传递第一个单词?
当我运行带有某些参数的以下脚本时arg1 arg2 arg3: #!/bin/bash zenity --entry --text="$@" zenity使用以下文本创建一个输入对话框:“ arg1”,而我期望“ arg1 arg2 arg3” 如果我使用像以下脚本这样的变量,它将显示条目文本的所有参数。 #!/bin/bash text="$@" zenity --entry --text="$text" 这些脚本之间有什么区别?为什么第一个$@仅替换为第一个参数?
9 bash  shell  quoting 

1
bash中的引号内的美元符号插值
我正在运行我编写的这个小测试脚本: #!/bin/bash TESTCASE=$@ testHarness <<runTest $TESTCASE runTest 从命令行: ./test.sh "1092$212" 但是美元符号被剥夺了。如果我逃脱了,那就行了。但是我认为双引号可以保护我免于这样做。有人可以帮我了解发生了什么以及如何解决此问题吗?
9 bash  shell  quoting 

2
如何在grep中使用多行作为组分隔符?
在中,grep您可以用来--group-separator在小组比赛之间写一些东西。 这很容易弄清楚我们有哪些块,尤其是在使用-C Xoption获取上下文行时。 $ cat a hello this is me and this is something else hello hello bye i am done $ grep -C1 --group-separator="+++++++++" 'hello' a hello this is me +++++++++ something else hello hello bye 我在grep中使用空行作为上下文“ group-separator”来学习grep的方法,就是说只有一个空行--group-separator=""。 但是,如果我想有两个空行怎么办?我试着说,--group-separator="\n\n"但我得到字面值\ns: $ grep -C1 --group-separator="\n\n" 'hello' a hello this is me …
9 shell  grep  quoting 

3
ImageMagick在多个文件上
我convert使用以下命令使用ImageMagick将单个文件从BMP转换为PNG convert CD\ Front.bmp CD\ Front.png 我有很多这样的文件,因此我尝试了: for f in */*.bmp ; do convert $f ${f%bmp}png; done 但是此命令将永远挂起。 我究竟做错了什么?

3
跨壳反斜杠的处理
如何echo和printf在治疗反斜杠zsh,bash和其他贝壳? 在zsh下,我得到以下行为: $ echo "foo\bar\baz" foaaz $ echo "foo\\bar\\baz" foaaz $ echo 'foo\bar\baz' foaaz $ echo 'foo\\bar\\baz' foo\bar\baz 在bash下,情况似乎更加一致: bash$ echo "foo\bar\baz" foo\bar\baz bash$ echo 'foo\bar\baz' foo\bar\baz bash$ 但更具体而言:如何传递包含反斜杠的字符串,例如\\foo\bar\something: echo printf print 并获得完全相同的字符串?(在zsh和中bash)? 这是另一个在zsh中使用函数的实验: function foo { echo -E '$1' } $ foo \\here\is\some\path $1 我怎样才能只打印它\\here\is\some\path? 更新(注意:这已在Stephane的评论中得到回答) 我在zsh 5.0.2中尝试了以下方法: function …
9 bash  shell  zsh  quoting 

5
如何查找以**开头的行
我需要查找文件中是否有任何行以开头**。 我不知道该怎么做,因为它*被外壳解释为通配符。 grep -i "^2" test.out 如果行以2开头但有效 grep -i "^**" test.out 显然是行不通的。 (我还需要知道该行是否以a结尾,)但尚未尝试过)。

1
Bash脚本解析带引号的参数
请考虑这个名为test的简单脚本: #!/bin/bash echo $1 以及以下命令和调用: $ echo "A B" A B $ echo ""A B"" A B $ echo """A B""" A B $ echo """A B""" A B $ ./test "A B" A B $ ./test ""A B"" A $ ./test """A B""" A B $ ./test """"A B"""" …

4
如何在有空格的grep输出上执行xargs grep?
我正在基于正则表达式搜索文件,然后尝试在这些文件中搜索内容。例如,我有类似 #Find all C++ files that match a certain pattern and then search them find . -name "*.cpp" | grep "<name regex>" | xargs grep "<content regex>" 我遇到的问题是某些路径中有空格,这会造成混淆xargs。我知道,如果我只是使用find,则可以使用-print0参数(以及上的-0参数xargs)来防止xargs将空格视为定界符。有类似的东西grep吗? 还是我完全以错误的方式解决了这个问题?天真,find要grep以xargs grep对我来说很有意义,但我持开放的态度产生相同的结果的其他方法。
8 shell  grep  find  quoting  xargs 

3
使用| $ variable中的竖线字符使它成为bash中的另一个参数;如何逃脱呢?
我有一个这样的bash脚本 export pipedargument="| sort -n" ls $pipedargument 但是它给出了错误 ls: |: No such file or directory ls: sort: No such file or directory 似乎将的内容"| sort -n"视为传递给的参数ls。 我如何才能将其转义,以便将其视为常规管道命令? 我试图有条件地设置$pipedargument。我想我可以有条件地执行命令的不同版本,但仍然想知道是否有办法使上述工作正常进行?

2
重击颜色输出失败
是sed还是echo问题?我做错了什么? $> cat ~/bin/color_test.sh #!/bin/bash ColorOff='\e[0m' # Text Reset BWhite='\e[1;37m' # Bold White string="test TEST test" echo -e "$string" | sed -e "s/TEST/${BWhite}TEST${ColorOff}/g" $> ~/bin/color_test.sh test e[1;37mTESTe[0m test 期望以粗体突出显示TEST。
8 bash  sed  quoting 

3
如何在shell中表达换行?
我是debian7.8 bash shell。 str="deb http://ftp.cn.debian.org/debian/ wheezy main contrib non-free \n deb-src http://ftp.cn.debian.org/debian/ wheezy main contrib non-free " echo $str > test 在我的测试文件中是: deb http://ftp.cn.debian.org/debian/ wheezy main contrib non-free \n deb-src http://ftp.cn.debian.org/debian/ wheezy main contrib non-free 我想要的是: deb http://ftp.cn.debian.org/debian/ wheezy main contrib non-free deb-src http://ftp.cn.debian.org/debian/ wheezy main contrib non-free 如何正确表达换行符?
1 bash  shell  quoting 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.