当前位置: 首页 > 知识库问答 >
问题:

为什么要用反斜杠启动shell命令?

钱哲茂
2023-03-14
\curl -L https://get.rvm.io | bash -s stable

为什么命令以\开头?这是我看到它的网站。

共有2个答案

周弘盛
2023-03-14

(Bourne/POSIX)shell规范指出,当引用命令字的任何字符时,交互式shell中的别名替换将被抑制。反斜杠是一种方法,但也有其他众所周知的引用方法:单引号和双引号。以下所有操作都将禁止别名替换:

 \curl
 cur\l
 \c\u\r\l
 "c"url
 "curl"
 "c""u""r""l"
 'curl'
 'cu'"rl"

使用curl是最常见和可读的方法。由于这是一个标准化功能,您可以期望它在所有Bourne heritage Shell中都能正常工作。

curl看起来有点像TeX命令,不是吗?:-)

汲睿
2023-03-14
alias curl='curl --some --default --options'

如果您有curl的别名并且不想使用它,则在前面放一个反斜杠会禁用别名并直接运行curl二进制文件。

请注意,这仅适用于交互式shell。别名在脚本中不起作用,因此在脚本中不需要别名。

 类似资料:
  • 问题内容: 这是一个“到底发生了什么”的问题。我实际上不需要解决方案。 我必须用双反斜杠替换字符串中的所有单反斜杠。这就是我最终要做的… …其中strRootDirectory是上面的java.lang.String。 现在,我了解了第一个参数的四个反斜杠:regex期望两个反斜杠以表示单个文字反斜杠,而Java希望它们加倍。没关系。 但是,第二个参数的八个反斜杠到底是怎么回事?替换字符串不是应该

  • 问题内容: 我已经使用了很长时间了,到目前为止我还没有遇到任何问题。现在,我正在使用上传脚本,并且尝试在文件上传后返回一些JSON数据。 我有以下代码: 这给了我以下结果: 谁能告诉我为什么加斜杠? 更新 @Quentin说,事情是发生之间和与他的权利。 做一个给我以下结果: 这不是有效的JSON。它还添加,我不知道它来自哪里。 可能对我返回的数据有影响吗? 这是我的js脚本: 问题答案: 谁能告

  • 问题内容: 我已经开始在linux终端中组合不同的命令。我想知道为什么这样的命令需要反斜杠和分号: 当一个简单的cp命令只是: 没有\; 是要清楚地指示命令的结束,还是只是在文档中要求?基本原理是什么? 谢谢! 问题答案: 分号之前反斜杠用于,因为是列表操作符(或之一,),用于分离外壳命令。例如: 该实用程序正在使用或终止由调用的shell命令。 因此,为避免解释特殊的外壳字符,需要使用反斜杠将其

  • 问题内容: 我有一个字符串“ \\ u003c”,它属于UTF-8字符集。由于存在双反斜杠,因此我无法将其解码为unicode。如何从“ \\ u003c”获取“ \ u003c”?我正在使用Java。 我尝试过 但无法实现我想要的。 这是我的代码 文件的内容是 \ u003c 问题答案: 不知道您是否仍在寻找解决问题的方法(因为您已经接受了答案),但是我仍然会添加我的答案作为针对 所述问题 的可

  • 问题内容: 当我创建一个包含反斜杠的字符串时,它们会重复: 为什么? 问题答案: 你们看到的是代表的由它的创建方法。如果您进行打印,则可以看到实际上有一个反斜杠,如您所愿: 下面的字符串中包含三个字符,而不是四个: Python在字符串中表示反斜杠,因为反斜杠是转义字符-例如,表示换行符和表示制表符。 有时这会给您带来麻烦: 当Python返回字符串的表示形式时,它将起到安全的作用,转义所有反斜杠

  • Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 <em> 标签),你可以在星号的前面加上反斜杠: \*literal asterisks\* Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号: \ 反斜线 ` 反引号 * 星号 _ 底线 {} 花括号 [] 方括号 () 括