我想为 Ubuntu 创建可执行命令。
我有/dir/bin/start.sh
我可以这样执行
./dir/bin/start.sh
但我想知道如何将它放入 Ubuntu 配置之类的,所以它会 可以从 shell 中调用它
start
最佳答案
您可以通过以下任一方式执行此操作:
将命令的目录添加到
$PATH
变量中,因此:export PATH=$PATH:/dir/bin
要做到这一点,您必须将此行添加到
~/.profile
文件中:echo 'export PATH=$PATH:/dir/bin' >> ~/.profile
在添加到路径的目录中创建快捷方式(例如使用
ln -s '/dir/bin/start.sh' start
);cd <pathdirectory> ln -s '/dir/bin/start.sh' start
创建一个别名,以便 shell 简单地替换命令:
echo 'alias start=./dir/bin/start.sh' >> ~/.profile
这是如何/为什么工作的
如果您在 shell 中键入命令,它会首先查找别名,然后替换别名。因此,如果您为 start
定义了别名,它将简单地替换为 ./dir/bin/start.sh
;就好像你自己写的一样。
接下来 shell 将尝试找到命令的解释。如果命令是文件(例如通过使用别名),则执行该文件。否则,系统回退到 $PATH
s。
$PATH
s 是一系列路径,系统在其中搜索具有该名称的文件。它按该顺序搜索路径,并在所有文件中搜索同名文件。如果存在这样的文件,它会运行该文件。
因此你可以做一些事情:
- 将这样的程序放在目录中;但这并不是一个很好的选择,因为不同的项目随后会组合在一起;
- 使用快捷方式(
ln
解决方案),在这种情况下,您只需在路径文件夹中添加一个“代表”; - 通过执行
PATH=$PATH:/dir/bin
扩展路径数量,以便它也能搜索您的项目。
关于Linux/Ubuntu 为 sh 文件创建可执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30109410/