Disable the “>” operator in Rstudio linux terminal












5















For an interactive session via SSH on a Linux cluster in Rstudio, it is very easy to accidentally execute the keyboard shortcut for "run in terminal" when commands are highlighted in Rstudio console. This results in behavior such as




> library




or




Var1>Var2




being executed in terminal, which creates a library or Var2 file in the remote working directory if the terminal is logged in at the bash prompt.



In a worst case scenario this would result in overwriting files in the remote working directory.



I would like to disable ">" in these sessions, but I am not sure how to do this.










share|improve this question




















  • 7





    > is not a command, it's a redirection operator.

    – Arkadiusz Drabczyk
    Mar 1 at 16:07






  • 3





    Redirection characters are fundamental to Linux shells and can't be changed. You should look at whether you can change the Rstudio prompt to something less drastic if accidentally copied. If you can't, you'll just need to take more care.

    – AFH
    Mar 1 at 16:12











  • ok that explains why it can't be aliased, but do you have a suggestion how to address my question?

    – user36302
    Mar 1 at 16:12






  • 2





    Bash appears to offer a restricted mode: stackoverflow.com/questions/50989369/…

    – music2myear
    Mar 1 at 16:13








  • 2





    Isn't this an XY problem? Why don't you disable the "run in terminal" shortcut, or at least make it something else harder to stroke instead? Even with the noclobber solution, your code may still contain >| inside it... although it's unlikely, depends on the programming language.

    – user202729
    Mar 2 at 11:34


















5















For an interactive session via SSH on a Linux cluster in Rstudio, it is very easy to accidentally execute the keyboard shortcut for "run in terminal" when commands are highlighted in Rstudio console. This results in behavior such as




> library




or




Var1>Var2




being executed in terminal, which creates a library or Var2 file in the remote working directory if the terminal is logged in at the bash prompt.



In a worst case scenario this would result in overwriting files in the remote working directory.



I would like to disable ">" in these sessions, but I am not sure how to do this.










share|improve this question




















  • 7





    > is not a command, it's a redirection operator.

    – Arkadiusz Drabczyk
    Mar 1 at 16:07






  • 3





    Redirection characters are fundamental to Linux shells and can't be changed. You should look at whether you can change the Rstudio prompt to something less drastic if accidentally copied. If you can't, you'll just need to take more care.

    – AFH
    Mar 1 at 16:12











  • ok that explains why it can't be aliased, but do you have a suggestion how to address my question?

    – user36302
    Mar 1 at 16:12






  • 2





    Bash appears to offer a restricted mode: stackoverflow.com/questions/50989369/…

    – music2myear
    Mar 1 at 16:13








  • 2





    Isn't this an XY problem? Why don't you disable the "run in terminal" shortcut, or at least make it something else harder to stroke instead? Even with the noclobber solution, your code may still contain >| inside it... although it's unlikely, depends on the programming language.

    – user202729
    Mar 2 at 11:34
















5












5








5








For an interactive session via SSH on a Linux cluster in Rstudio, it is very easy to accidentally execute the keyboard shortcut for "run in terminal" when commands are highlighted in Rstudio console. This results in behavior such as




> library




or




Var1>Var2




being executed in terminal, which creates a library or Var2 file in the remote working directory if the terminal is logged in at the bash prompt.



In a worst case scenario this would result in overwriting files in the remote working directory.



I would like to disable ">" in these sessions, but I am not sure how to do this.










share|improve this question
















For an interactive session via SSH on a Linux cluster in Rstudio, it is very easy to accidentally execute the keyboard shortcut for "run in terminal" when commands are highlighted in Rstudio console. This results in behavior such as




> library




or




Var1>Var2




being executed in terminal, which creates a library or Var2 file in the remote working directory if the terminal is logged in at the bash prompt.



In a worst case scenario this would result in overwriting files in the remote working directory.



I would like to disable ">" in these sessions, but I am not sure how to do this.







linux bash ssh terminal rstudio






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited yesterday







user36302

















asked Mar 1 at 16:04









user36302user36302

293




293








  • 7





    > is not a command, it's a redirection operator.

    – Arkadiusz Drabczyk
    Mar 1 at 16:07






  • 3





    Redirection characters are fundamental to Linux shells and can't be changed. You should look at whether you can change the Rstudio prompt to something less drastic if accidentally copied. If you can't, you'll just need to take more care.

    – AFH
    Mar 1 at 16:12











  • ok that explains why it can't be aliased, but do you have a suggestion how to address my question?

    – user36302
    Mar 1 at 16:12






  • 2





    Bash appears to offer a restricted mode: stackoverflow.com/questions/50989369/…

    – music2myear
    Mar 1 at 16:13








  • 2





    Isn't this an XY problem? Why don't you disable the "run in terminal" shortcut, or at least make it something else harder to stroke instead? Even with the noclobber solution, your code may still contain >| inside it... although it's unlikely, depends on the programming language.

    – user202729
    Mar 2 at 11:34
















  • 7





    > is not a command, it's a redirection operator.

    – Arkadiusz Drabczyk
    Mar 1 at 16:07






  • 3





    Redirection characters are fundamental to Linux shells and can't be changed. You should look at whether you can change the Rstudio prompt to something less drastic if accidentally copied. If you can't, you'll just need to take more care.

    – AFH
    Mar 1 at 16:12











  • ok that explains why it can't be aliased, but do you have a suggestion how to address my question?

    – user36302
    Mar 1 at 16:12






  • 2





    Bash appears to offer a restricted mode: stackoverflow.com/questions/50989369/…

    – music2myear
    Mar 1 at 16:13








  • 2





    Isn't this an XY problem? Why don't you disable the "run in terminal" shortcut, or at least make it something else harder to stroke instead? Even with the noclobber solution, your code may still contain >| inside it... although it's unlikely, depends on the programming language.

    – user202729
    Mar 2 at 11:34










7




7





> is not a command, it's a redirection operator.

– Arkadiusz Drabczyk
Mar 1 at 16:07





> is not a command, it's a redirection operator.

– Arkadiusz Drabczyk
Mar 1 at 16:07




3




3





Redirection characters are fundamental to Linux shells and can't be changed. You should look at whether you can change the Rstudio prompt to something less drastic if accidentally copied. If you can't, you'll just need to take more care.

– AFH
Mar 1 at 16:12





Redirection characters are fundamental to Linux shells and can't be changed. You should look at whether you can change the Rstudio prompt to something less drastic if accidentally copied. If you can't, you'll just need to take more care.

– AFH
Mar 1 at 16:12













ok that explains why it can't be aliased, but do you have a suggestion how to address my question?

– user36302
Mar 1 at 16:12





ok that explains why it can't be aliased, but do you have a suggestion how to address my question?

– user36302
Mar 1 at 16:12




2




2





Bash appears to offer a restricted mode: stackoverflow.com/questions/50989369/…

– music2myear
Mar 1 at 16:13







Bash appears to offer a restricted mode: stackoverflow.com/questions/50989369/…

– music2myear
Mar 1 at 16:13






2




2





Isn't this an XY problem? Why don't you disable the "run in terminal" shortcut, or at least make it something else harder to stroke instead? Even with the noclobber solution, your code may still contain >| inside it... although it's unlikely, depends on the programming language.

– user202729
Mar 2 at 11:34







Isn't this an XY problem? Why don't you disable the "run in terminal" shortcut, or at least make it something else harder to stroke instead? Even with the noclobber solution, your code may still contain >| inside it... although it's unlikely, depends on the programming language.

– user202729
Mar 2 at 11:34












1 Answer
1






active

oldest

votes


















23














> is not a command but an operator, so you can't alias it. But you can disable overwriting files with the noclobber option. Just run set -C or set -o noclobber (or add them to your ~/.bashrc)




The noclobber option is available to avoid overwriting existing files with output redirection (see The Set Builtin). The ‘>|’ redirection operator may be used to override noclobber.



https://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin




If the file didn't exist it'll still be created, but at least you can avoid the worst case scenario



If you want to completely disable the redirection, you have to use the restricted shell but that'd result in an extremely limited environment, most notably you can't run commands with slashes like /bin/ls or change the directory






share|improve this answer





















  • 1





    This still wont prevent the creation of new files

    – D. Ben Knoble
    Mar 1 at 23:40











  • This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

    – user36302
    2 days ago











  • I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

    – phuclv
    2 days ago











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1410511%2fdisable-the-operator-in-rstudio-linux-terminal%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









23














> is not a command but an operator, so you can't alias it. But you can disable overwriting files with the noclobber option. Just run set -C or set -o noclobber (or add them to your ~/.bashrc)




The noclobber option is available to avoid overwriting existing files with output redirection (see The Set Builtin). The ‘>|’ redirection operator may be used to override noclobber.



https://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin




If the file didn't exist it'll still be created, but at least you can avoid the worst case scenario



If you want to completely disable the redirection, you have to use the restricted shell but that'd result in an extremely limited environment, most notably you can't run commands with slashes like /bin/ls or change the directory






share|improve this answer





















  • 1





    This still wont prevent the creation of new files

    – D. Ben Knoble
    Mar 1 at 23:40











  • This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

    – user36302
    2 days ago











  • I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

    – phuclv
    2 days ago
















23














> is not a command but an operator, so you can't alias it. But you can disable overwriting files with the noclobber option. Just run set -C or set -o noclobber (or add them to your ~/.bashrc)




The noclobber option is available to avoid overwriting existing files with output redirection (see The Set Builtin). The ‘>|’ redirection operator may be used to override noclobber.



https://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin




If the file didn't exist it'll still be created, but at least you can avoid the worst case scenario



If you want to completely disable the redirection, you have to use the restricted shell but that'd result in an extremely limited environment, most notably you can't run commands with slashes like /bin/ls or change the directory






share|improve this answer





















  • 1





    This still wont prevent the creation of new files

    – D. Ben Knoble
    Mar 1 at 23:40











  • This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

    – user36302
    2 days ago











  • I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

    – phuclv
    2 days ago














23












23








23







> is not a command but an operator, so you can't alias it. But you can disable overwriting files with the noclobber option. Just run set -C or set -o noclobber (or add them to your ~/.bashrc)




The noclobber option is available to avoid overwriting existing files with output redirection (see The Set Builtin). The ‘>|’ redirection operator may be used to override noclobber.



https://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin




If the file didn't exist it'll still be created, but at least you can avoid the worst case scenario



If you want to completely disable the redirection, you have to use the restricted shell but that'd result in an extremely limited environment, most notably you can't run commands with slashes like /bin/ls or change the directory






share|improve this answer















> is not a command but an operator, so you can't alias it. But you can disable overwriting files with the noclobber option. Just run set -C or set -o noclobber (or add them to your ~/.bashrc)




The noclobber option is available to avoid overwriting existing files with output redirection (see The Set Builtin). The ‘>|’ redirection operator may be used to override noclobber.



https://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin




If the file didn't exist it'll still be created, but at least you can avoid the worst case scenario



If you want to completely disable the redirection, you have to use the restricted shell but that'd result in an extremely limited environment, most notably you can't run commands with slashes like /bin/ls or change the directory







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 2 at 15:24

























answered Mar 1 at 16:14









phuclvphuclv

9,89263992




9,89263992








  • 1





    This still wont prevent the creation of new files

    – D. Ben Knoble
    Mar 1 at 23:40











  • This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

    – user36302
    2 days ago











  • I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

    – phuclv
    2 days ago














  • 1





    This still wont prevent the creation of new files

    – D. Ben Knoble
    Mar 1 at 23:40











  • This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

    – user36302
    2 days ago











  • I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

    – phuclv
    2 days ago








1




1





This still wont prevent the creation of new files

– D. Ben Knoble
Mar 1 at 23:40





This still wont prevent the creation of new files

– D. Ben Knoble
Mar 1 at 23:40













This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

– user36302
2 days ago





This is a great answer as far as it goes. I set noclobber, but I would still like to avoid generating new files. Are you able to address the "?" issue I raised in the edited question? Thanks!

– user36302
2 days ago













I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

– phuclv
2 days ago





I don't know R and have never used Rstudio, so I don't know about that. But as commented, this might be an XY problem, and you're better off changing the Rstudio or terminal shortcut. But if you really want to force a restricted shell then just add rbash to the end of ~/.bashrc or ~/.profile

– phuclv
2 days ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Super User!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1410511%2fdisable-the-operator-in-rstudio-linux-terminal%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

ComboBox Display Member on multiple fields

Is it possible to collect Nectar points via Trainline?