我在/usr/share/my-editor/editor-executable
下安装了一个文本编辑器。
当我想在终端中启动编辑器时,我必须编写完整的路径:
# /usr/share/my-editor/editor-executable file-to-open
我会为编辑器创建一个命令,所以我可以简单地数字:
# my-editor file-to-open
我该怎么办?
答案 0 :(得分:4)
无法启动可执行文件的原因是shell在PATH
环境变量(已知路径)中定义的任何路径中查找命令。
您可以使用以下方法检查已知路径
echo $PATH
如您所见,/usr/bin
定义在那里以及其他路径。
无论如何,你可以通过多种方式获得你想要的东西。
请注意,当我使用〜目录时,该命令仅适用于当前用户。
my-editor
当您想要运行已知路径中找不到的命令时,这是我的最爱。对你来说这也是一个好主意。在bash
中,您可以将别名放在~/.bash_aliases
。
echo alias my-editor=/usr/share/my-editor/my-editor-executable >> ~/.bash_aliases
这就是你完成它的方式并且只是为了澄清,如果你在任何已知路径中创建了链接,那么它也会起作用。
ln -s /usr/share/my-editor/my-editor-executable /usr/bin/my-editor
my-editor
我认为这是因为你的需求太多了,但如果你想尝试一下,这取决于你。它可用于其他目的。
您必须在shell读取的文件中定义它。例如~/.bashrc
中的bash
。 Shell files invocation.
cat >> ~/.bashrc << "EOF"
function my-editor() {
/usr/share/my-editor/my-editor-executable "$@"
}
EOF
/usr/share/my-editor/
添加到PATH
您可以为PATH
变量添加新路径。在Ubuntu中,PATH
变量通常在/etc/environment
中设置,如果您修改此文件,则所有用户都可以访问新路径。
但是,如果您希望成为唯一可以访问新路径的人,则可以在其中一个个人 shell文件中进行设置。例如在bash
:~/.bashrc
。 Shell files invocation.
echo 'export PATH="$PATH:/usr/share/my-editor/"' >> ~/.bashrc
bash
]在哈希表中输入命令 在bash
中获得相同结果的单一方法是将my-editor
添加到shell hash
表中。同样,您必须在bash
(~/.bashrc
)读取的某个文件中添加该命令。
echo 'hash -p /usr/share/my-editor/my-editor-executable my-editor' >> ~/.bashrc
最后,如果您不再需要当前目录中的文件(my-editor-executable
),则可以将其移至已知路径。
mv /usr/share/my-editor/my-editor-executable /usr/bin/my-editor
答案 1 :(得分:0)
我自己回答:
我在/ usr / bin下创建了一个指向可执行文件的链接:
# ln -sF /usr/share/my-editor/my-editor-executable /usr/bin/my-editor
现在可以运行应用程序&#34; my-editor&#34;通过文件系统中的各个终端