新手必知的问题,这里简单说下4种方式:
1.脚本所在目录执行
比如我现在有一个脚本叫test.sh,首先确保有执行权限,如果没有,需要赋予执行权限。
需要注意的是:如果shell脚本第一行申明了其他语言(比如python),但是正文是shell编程语言语法,那么将会报错。
补充一个知识点:
一个规范的Shell脚本在第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在Linux bash的编程一般为:
#!/bin/bash
或者是
#!/bin/sh
2.脚本以绝对路径执行
比如你现在在/tmp目录下,你要执行家目录(/opt/testerzhang)下的test2.sh,那么我们就以绝对路径执行。
3.sh命令执行
我们可以用sh命令来执行具体的shell脚本,这种情况下,不需要赋予文件执行权限。
当然我们也可以将sh命令改成bash命令执行,也是可以的。
4.source命令或者点符号命令执行
看了上面4种方式,相信你已经了解了如何去运行一个shell脚本。
Shell脚本启动如何传递参数?
Shell脚本如何传递参数有如下2种方法:
1、$0,$1,$2 通过命令行传递参数
采用$0,$1,$2..等方式获取脚本命令行传入的参数,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数。
example:脚本例子
#!/bin/bash
echo "Shell name $0"
echo "Shell第一个参数$1"
echo "Shell第二个参数$2"
在Linux shell中执行脚本,结果如下:
2、getopts传递参数
语法格式:getopts [option[:]] [DESCPRITION] VARIABLE
option:表示为某个脚本可以使用的选项
":":如果某个选项(option)后面出现了冒号(":"),则表示这个选项后面可以接参数(即一段描述信息DESCPRITION)
VARIABLE:表示将某个选项保存在变量VARIABLE中
example:脚本例子:
在shell中执行脚本,结果如下: