如何使一个shell脚本全球?
我在Mac的操作系统10.6,我想了解一些关于shell脚本的东西。 我知道如何保存一个shell脚本,并使其可执行,但我想知道我可以做什么或在哪里可以保存文件,使其全球(即,无论我在什么文件夹中可访问)。
例如,如果我将.sh文件保存在/ Users / username /目录中并使其可执行,那么我只能在该特定目录中执行该脚本。 如果我导航到/用户/用户名/下载,例如,我不能执行该脚本。
此外,任何有关了解shell脚本的资源build议都将有所帮助。 谢谢
/usr/local/bin
将是最合适的位置。 Mac OS X默认使用PATH
传统上,这样的脚本要么进入~/bin
(即:您的主目录中的bin目录)或/usr/local/bin/
前者意味着脚本将只适用于您,后者适用于您希望任何人的脚本系统能够运行。
如果你把它放在~/bin
,你可能需要把它添加到你的PATH环境variables中。 /usr/local/bin
应该已经在path上了。
有两种方法可以做到这一点 –
- 把你的脚本放在usr / local / bin中,确保它是可执行的(chmod + x my_script)(这已经在path中设置了,你可以通过echo $ PATH来检查)
- 在您的主目录中创build一个名为bin的文件夹。 (为了您的个人脚本)
- cd〜(把你带到你的主目录)
- mkdir bin(创build一个bin文件夹)
- vim .bash_profile(设置path环境variables)
- export PATH =〜/ bin:$ PATH(按i,然后添加这一行,然后执行esc并键入:wq)
- 现在你可以input你的脚本的名字,并从任何你想要的地方运行它。
把它保存到/usr/bin
(或PATH
任何其他目录)或编辑PATH
以包含保存在其中的目录,基本上可以在任何目录下运行。
在使用bash shell时,将该脚本编写为函数,然后将其放在.bashrc中,或者通过“source file_name”来源包含该函数的文件。
现在通过shell中的函数调用来执行脚本。
在mac中,1.导出脚本path,导出PATH =“$ PATH:”(例如/ Users / sher / practiceShell / bin)
- 在bashrc文件(〜/ .bashrc)中添加你的脚本。
你应该把它放在你机器上的全局可执行文件目录下。 我认为这通常是在基于Unix的操作系统上的/usr/bin
(但是这通常需要在该机器上具有超级用户权限)。
您也可以将它放在$PATH
环境variables中的任何其他目录中,但只适用于那些在该variables中具有该目录的用户。
您可以通过在shell中inputecho $PATH
来find$PATH
的值。 目录由 :
分隔 。