在 Rstudio linux 终端中禁用“>”操作符

use*_*302 5 linux ssh terminal bash rstudio

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

\> library
Run Code Online (Sandbox Code Playgroud)

或者

Var1>Var2
Run Code Online (Sandbox Code Playgroud)

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

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

我想在这些会话中禁用“>”,但我不确定如何执行此操作。

phu*_*clv 23

>不是命令,而是用于重定向流的运算符,因此您不能为其设置别名。但是您可以使用该noclobber选项禁用覆盖文件。只需运行set -Cset -o noclobber(或将它们添加到您的~/.bashrc

noclobber选项可避免覆盖与输出重定向现有文件(见Set内建)。'>|' 重定向运算符可用于覆盖 noclobber。

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

如果您想完全禁用重定向,则必须使用受限 shell,但这会导致环境极其受限,最值得注意的是,您无法运行带有斜杠的命令/bin/ls或更改目录

最好的解决方案是更改 RStudio 中的“在终端中运行”快捷方式,这在他们的网站上有明确说明