常用脚本的非sudo替代/ usr / local / bin
我习惯将常用脚本放在/usr/local/bin
这样我就可以在终端的任何地方执行它们。
例如,我创建一个名为1
的shell脚本,使用chmod +x 1
将其设置为可执行文件并将其放在/usr/local/bin
,在脚本中我在第一行输入#!/bin/sh
,然后我的命令。 从那以后,通过打字可以非常方便地使用并快速执行
1
Enter
在终端上,从任何文件夹里面。
我的问题是,我目前正在一台无法做sudo
的计算机上工作,我也不能指望得到它,所以我不能将我的脚本放在/usr/local/bin
。
我有什么选择? 是否有另一条路径具有相同的“从任何地方运行”function,我可以在没有sudo
情况下访问,或者以其他方式实现相同的function?
这篇文章接受的答案是
对于用户范围的脚本,请在主目录中使用bin /。
我尝试了,但我的主目录中没有bin
文件夹,当我创建一个文件夹时,我仍然无法从其他任何地方运行该脚本。
我正在使用Ubuntu 12.04 LTS。
我有什么选择? 是否有另一条路径具有相同的“从任何地方运行”function,我可以在没有sudo的情况下访问,或者以其他方式实现相同的function?
怎么做?
在您的家中创建一些目录,以保存通常命名为bin
的常规脚本。
mkdir ~/bin
现在将脚本移动到bin
mv somescript ~/bin
现在如何让它从各处进行调整?!
您必须将bin
添加到PATH
打开你的.bashrc
gedit .bashrc
并添加此行:
export PATH=$PATH:/home/username/bin
不要忘记用您的用户名替换用户名
保存并退出,然后获取bashrc
source .bashrc
现在你很好,你可以像以前一样运行你的脚本! 但你必须注意到这只与你的用户有关。
注意:最好重命名除1,2之外的脚本,因为这些名称可能会遇到一些问题
更新:
您可以这样做,只需在您的家中创建bin目录,然后source ~/.profile
而不是~/.bashrc
。 由于将〜/ bin添加到PATH已经在.profile
列出了
# set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi
除了https://askubuntu.com/a/643030/218015之外,您还可以在.bashrc中定义一个别名,用于经常使用的小任务。 例如
alias ll='ls -l' alias ls='ls --color=auto'
将创建一个“命令”ll,它正在执行ls -l并且ls将在定义别名后被着色。 https://wiki.ubuntuusers.de/alias正在提供更多示例和设置方法。