无法添加" .sh"文件到环境。

时间:2015-08-30 16:54:26

标签: ubuntu

我有一个应用程序要求我从" bin"中启动它。使文件夹运行的文件夹如下:

./pio commad

我希望能够在不输入文件夹的情况下运行它并运行文件"手动" (这样说)。如何修改我的系统,以便可以按如下方式使用该文件:

pio command

我该怎么做呢?

我是Linux的新手,所以请给我一个适合我技能水平的答案。给我原则,给我链接,给我清晰。

2 个答案:

答案 0 :(得分:1)

在每个sh / bash会话中都存在一个名为PATH的变量。 例如:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

使用语法directory1:directory2:directory3声明的每个目录都是bash在键入命令时查找可执行文件的位置。

如果您输入mousepad file.txt,它会找到一个名为" mousepad"的可执行文件。在文件夹/usr/bin

如果您希望以与mousepad相同的方式调用您的程序,则必须:

  • 将其放在$PATH
  • 中包含的其中一个目录中
  • 在其中一个目录中为您的程序添加一个链接(符号或非符号) `$ sudo ln -s" / home / username / mydir / myprogram"的/ usr / local / bin中/"
  • $PATH变量中添加目录,如
    $PATH=$PATH:/home/username/mydir

作为替代方法,您可以使用

对命令进行别名
$ alias commandIWantToRun="/home/...../...../myprogram"

然后使用commandIWantToRun

运行它

如果您选择不移动程序,请注意使用新的终端会话时,对$PATHalias的更改将会消失。 在这种情况下,您可能希望创建一个名为/home/username/.bash_aliases的文件(如果它尚未存在),并将其放入您希望在每个会话的开始时自动运行的命令中。有关详细信息,请在StackOverflow上搜索.bash_aliases

答案 1 :(得分:0)

执行此操作的两种方法是创建别名或将其链接到/ usr / bin

创造爱丽丝 我将在/etc/profile.d中以root身份创建一个.sh文件

sudo nano /etc/profile.d/test.sh

输入

alias pio='/bin/path/to/pio'

保存并重新启动任何终端

OR

LINKING 型

sudo ln -s /bin/path/to/pio /usr/bin/pio

然后运行

pio