我有一个名为remote_execution.sh的shell脚本。我是否可以在任何文件夹中键入remote_execution
并开始执行,就像gcc,vi或任何此类命令一样?
提前致谢。
答案 0 :(得分:7)
以下四个步骤应该允许您从文件系统的任何位置运行remote_execution
:
remote_execution
,删除.sh
扩展名在文件顶部添加“shebang”行
#!/bin/bash
修改文件的permissions以使其可执行(请参阅man chmod
)
chmod u+x remote_execution
将文件移动到PATH
中的目录中,使其“可在任何文件夹中使用”。猜测:
mv remote_execution /usr/local/bin
答案 1 :(得分:4)
另一个选项是设置别名
alias remote_execution="fullpath to remote_execution.sh"
答案 2 :(得分:3)
您可以将该脚本放在$PATH
$ echo $PATH
[andreas@nyert test]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/andreas/bin
将您的脚本重命名为remote_execution
,并将#!/bin/sh
放在第一行。还要chmod以确保它是可执行的
$ chmod 755 remote_execution
答案 3 :(得分:1)
将remote_execution.sh所在的目录添加到$PATH
变量中。此外,如果您希望在没有结尾.sh
的情况下启动它,请将脚本重命名为remote_execution
答案 4 :(得分:1)
您有3种方法:您可以在PATH
中的一个目录中复制脚本,也可以在那里为脚本创建符号链接(ln -s
),或者将shell脚本的当前目录添加到PATH
(export PATH=$PATH:dir
)。
要了解PATH
看起来像echo $PATH
。
答案 5 :(得分:1)
是。您有两个选项,将脚本放在路径上的某个位置,或将脚本的目录附加到~/.profile
中的路径。
答案 6 :(得分:0)
每个文件都有自己的权限位。您必须修改文件的权限,以使其可执行。所以使用命令 -
chmod +x remote_execution
希望您已将“shebang”行添加到文件顶部
#!/bin/bash
如果使用显式解释器调用脚本,例如
bash remote_execution.sh
/bin/bash remote_execution.sh
dash remote_execution.sh
sh remote_execution.sh
无论shebang说什么,你的选择翻译都会被使用,这只是一个评论。否则,内核会查找shebang并使用其中指定的解释器启动程序。如果使用了Shebang字符,那么无论扩展名是什么!
你的shell是一个程序。它有变量,其中一个是$ PATH
$PATH
包含一个以冒号分隔的目录列表,用于搜索命令
如果您想查看它,只需在终端输入$ echo $PATH
。
在我的电脑上显示
vikram@vikram-Studio-XPS-1645:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
这意味着如果我输入像gcc或vim这样的命令,它会在上面的目录列表中搜索。
现在只需将您的shell脚本复制到上述任何文件夹即可从任何地方访问它。