如何在不输入完整路径的情况下运行脚本?

如何在不输入完整路径的情况下运行脚本?

我想知道是否有办法运行程序/shell 脚本而无需输入完整路径:

/opt/idea/bin/idea.sh

答案1

您可以创建符号链接。在 中创建它/usr/local/bin。您只需运行命令:

sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command

之后你应该制作你的file可执行文件:

chmod +x /full/path/to/your/file

现在您应该可以name_of_new_command在终端上随时运行。

请注意,这只对 Linux 家庭使用来说才是好的解决方案。

答案2

您可以添加/opt/idea/bin到您的PATH变量:

PATH=/opt/idea/bin:"$PATH"

此后,您只需运行它即可idea.sh

您可能想要在您的~/.bashrc文件中添加此行。

答案3

您可以在您的中创建一个函数~/.bashrc

some-name () {
    /path/to/your/file
    # or:
    #cd /path/to/your
    #./path
}

或者您可以创建一个alias

alias some-name='/path/to/your/file'
# or  
#alias some-name='cd /path/to/your/; ./file'

在这两种情况下,您都可以通过调用以下命令来运行它:

$ some-name

如果该文件不依赖于它在哪里运行,请考虑将其添加到您的~/bin

mkdir -p ~/bin
cp /path/to/you/file ~/bin
# or mv /path/to/you/file ~/bin
# or ln -s /path/to/you/file ~/bin

~/bin如果存在,则会$PATH自动添加到您的。然后您直接调用file

$ file

(但是这个名字选择得不太好,可以考虑用一个不那么通用的名字来称呼它。)

答案4

我们可以通过使用来定义一个函数并添加热键bind命令来调用它。打开~/.bashrc文件并添加以下行:

# define function that opens your program in working directory
Openprog(){
    /your-Program/path/here
}

# bind hotkey to it (<F12>)
bind -x '"\e[24~":"Openprog"'

现在,当您按下 时F12,您的程序将启动。

笔记: 确定转义码的快速方法:

打开终端并按Ctrl+ V。现在按你最喜欢的键盘快捷键。应该会出现正确的转义代码。只需确保在添加快捷方式之前将其替换^[为,例如替换为。\e^[[24~\e[24~

相关内容