相关疑难解决方法(0)

如何在shell中转义引号?

我在 bash 中转义字符时遇到问题。我想在不同用户下运行命令时转义单引号和双引号。出于这个问题的目的,假设我想在屏幕上回显以下内容:

'single quote phrase' "double quote phrase"
Run Code Online (Sandbox Code Playgroud)

如果我还需要切换到其他用户,我该如何转义所有特殊字符:

sudo su USER -c "echo \"'single quote phrase' \"double quote phrase\"\""
Run Code Online (Sandbox Code Playgroud)

当然,这不会产生正确的结果。

shell quoting escape-characters

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

shell 中的 "..."、'...'、$'...' 和 $"..." 引号之间有什么区别?

有时候,我看到shell脚本使用所有的引用一些文字,这些不同的方式:"..."'...'$'...',和$"..."。为什么有这么多不同类型的引用被使用?

他们的行为是否有所不同或影响了我在他们内部可以做的事情?

shell bash zsh shell-script quoting

57
推荐指数
1
解决办法
7660
查看次数

使用单引号将特殊字符包装在 shell 中时如何回显“单引号”?

我今天从http://www.tutorialspoint.com/unix/unix-quoting-mechanisms.htm阅读 shell 教程

其中提到:

如果要输出的字符串中出现单引号,则不应将整个字符串放在单引号内,而应在其之前使用反斜杠 (),如下所示:

echo 'It\'s Shell Programming'
Run Code Online (Sandbox Code Playgroud)

我在我的 centos 服务器上试过这个,它不起作用,>提示提示我输入更多。

我想知道,由于两个单引号将每个特殊字符转换为普通字符,其中包括转义符号\,但排除自身,'
我应该如何'在单引号短语中表示单引号?

shell quoting

35
推荐指数
1
解决办法
7万
查看次数

删除名称中带有空格的文件

我正在尝试删除名称中带有空格的所有文件。我正在使用以下命令。但它给了我一个错误

命令 : ls | egrep '. ' | xargs rm

在这里,如果我只使用ls | egrep '. '命令,它会给我所有文件名,文件名中带有空格。但是当我尝试将输出传递给 rm 时,所有空格(前导或尾随)都会被删除。所以我的命令没有得到正确执行。

有关如何删除名称中至少有一个空格的文件的任何指示?

shell xargs quoting rm

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

标签 统计

quoting ×4

shell ×4

bash ×1

escape-characters ×1

rm ×1

shell-script ×1

xargs ×1

zsh ×1