我想为Ubuntu创建可执行命令。
我有/dir/bin/start.sh
我可以这样执行
./dir/bin/start.sh
但我想知道如何将它放到Ubuntu配置或其他东西,所以它会 只需
即可从shell调用它start
答案 0 :(得分:1)
您可以通过以下方式执行此操作:
将命令的目录添加到$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
是系统搜索具有该名称的文件的一系列路径。它按该顺序搜索路径,并在所有文件中搜索具有相同名称的文件。如果存在此类文件,则会运行该文件。
你可以做一些事情:
ln
解决方案),在这种情况下,您只在路径文件夹中添加“代表”; PATH=$PATH:/dir/bin
来扩展路径数量,以便它也会搜索您的项目。