我在Mac的OS 10.6上,我正在尝试学习关于shell脚本的一两件事。我理解如何保存shell脚本并使其可执行,但我想知道我能做什么或者我可以保存文件以使其全局化(即无论我在哪个文件夹都可访问)。
例如,如果我将.sh文件保存在/ Users / username /目录中并使其可执行,我只能在该特定目录中执行该脚本。例如,如果我导航到/ Users / username / Downloads,我就无法执行脚本。
此外,任何有关shell脚本学习的资源建议都会有所帮助。感谢
答案 0 :(得分:105)
/usr/local/bin
将是最合适的位置。 Mac OS X默认使用PATH
答案 1 :(得分:34)
传统上,此类脚本要么进入~/bin
(即:主目录中的bin目录),要么/usr/local/bin/
前者表示脚本只适用于您,后者适用于您想要的脚本系统上的任何人都可以运行。
如果将其放在~/bin
中,则可能需要将其添加到PATH环境变量中。 /usr/local/bin
应该已经开始了。
答案 2 :(得分:15)
有两种方法可以做到 -
** 注意:如果要使用缩短的命令运行脚本而不是键入整个文件名,请将以下内容添加到.bash_profile中:
alias myscript='my_script.sh'
然后,您只需键入myscript
即可运行该脚本。 (你可以选择你想要的任何别名)
答案 3 :(得分:2)
在使用bash shell时,将该脚本编写为函数,然后将其放入.bashrc或通过“source file_name”来源包含该函数的文件
现在通过shell中的函数调用执行脚本。
答案 4 :(得分:2)
在mac操作系统中
答案 5 :(得分:2)
如果您熟悉bashrc文件,这个非常简单!这将完全使用你的.bashrc文件,需要2秒才能完成。
(我使用Arch Linux Manjaro所以我使用位于我主目录中的.bashrc)
要放在.bashrc文件中的代码:
# Simple bashrc method to launch anything in terminal from any directory
YOURCOMMAND () {
cd /path/to/directory/containing/your/script/ && ./YOURSCRIPT
}
正如您所看到的,首先使用简单的'cd'命令并将其命名为脚本位置的目录,然后使用'&&'这样你就可以立即执行下一个命令,最后像平常一样打开你的脚本!超级简单并保存在.bash文件中! :)
希望我帮助过某人!
此致
AnonymousX
答案 6 :(得分:1)
将其保存在/usr/bin
(或PATH
中的任何其他目录)或编辑PATH
以包含您保存的目录中,基本上可以在任何目录中运行。< / p>
答案 7 :(得分:0)
从“ script.sh”的工作目录“ mv [script.sh] / usr / local / bin”(未经测试,但似乎是最简单的IMO方法。)
答案 8 :(得分:-2)
您应将其放在计算机上的全局可执行文件目录中。我认为在基于Unix的操作系统上通常会/usr/bin
(但这通常需要在该计算机上拥有超级用户权限)。
您也可以将它放在$PATH
环境变量中的任何其他目录中,尽管它只适用于那个变量中包含该目录的用户。
您可以在shell中输入$PATH
来查找echo $PATH
的值。目录由 :
分隔。