在 Rstudio Linux 终端中禁用“>”运算符

在 Rstudio Linux 终端中禁用“>”运算符

对于 Rstudio 中 Linux 集群上通过 SSH 进行的交互式会话,很容易意外执行以下键盘快捷键:“在终端中运行”当命令在 Rstudio 控制台中突出显示时。这会导致如下行为

\> library

或者

Var1>Var2

在终端中执行,如果终端在 bash 提示符下登录,则会在远程工作目录中创建一个library或文件。Var2

在最坏的情况下,这将导致覆盖远程工作目录中的文件。

我想在这些会话中禁用“>”,但我不确定如何做到这一点。

答案1

>不是一个命令,而是一个操作员用于重定向流,因此您无法为其设置别名。但您可以使用该noclobber选项禁用覆盖文件。只需运行set -C或者set -o noclobber(或将其添加到您的~/.bashrc

noclobber选项可用于避免使用输出重定向覆盖现有文件(请参阅内置Set)。'>|' 重定向运算符可用于覆盖 noclobber。

>|如果文件不存在,它仍然会被创建,但至少你可以避免最坏的情况。但是如果你的代码中有

如果你想完全禁用重定向,你必须使用受限外壳但这会导致环境受到极大限制,最明显的是你不能运行带有斜杠的命令,例如/bin/ls或更改目录

最好的解决方案是更改 RStudio 中的“在终端中运行”快捷方式他们的网站上解释得很清楚

相关内容