我刚刚了解到我可以使用chmod
make myscript.sh
可执行文件并将其作为$ ./myscript.sh
运行但是如何附加自定义命令,例如$ connectme [options]
?
答案 0 :(得分:3)
你需要做两件事:
.
”放在PATH
中是一个坏主意(tm),因此请将其复制到$HOME/bin
,并将 放在您的路径中。完全不同的方法。大多数shell支持别名。您可以定义一个来运行脚本。
注意:环境变量PATH
告诉shell在哪里查找要运行的程序(除非您指定完全限定的路径,例如/home/jdoe/scripts/myscript.sh
或./myscript.sh
),它由要检查的“:
”分隔的目录列表组成。您可以通过以下方式查看:
$ printenv PATH
导致我
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/X11R6/bin
这是二进制文件的常用目录。您可以添加一个新的路径元素(在/ bin/sh
和衍生物中):
$ export PATH=$PATH:$HOME/bin
<{1>}中的和衍生品使用
csh
其中任何一个导致shell也会在$ setenv PATH $PATH:$HOME/bin
中搜索要运行的内容。然后将脚本移动到该目录中(如果需要,可以提供新名称)。检查您是否对脚本执行了权限,只需像任何其他命令一样输入其名称。
Fianlly,使用“~/bin
”扩展名表示shell脚本仅供人类使用。 Unix并不关心你如何命名你的脚本:它是脚本的第一行所谓的“shebang”(“.sh
”),操作系统用它来查找解释器。
答案 1 :(得分:1)
您需要了解BASH PROGRAMMING中的参数。 Here是一个很好的教程。检查第4节。
基本上,你需要使用特殊变量$ 1,$ 2,$ 3来分别引用第一,第二和第三个命令行参数。
示例:
$ ./mycript.sh A-Rod
使用myscript.sh:
#!/bin/bash
echo "Hello $1"
将打印:
Hello A-Rod