- 1、执行 “vim test.sh” 创建一个新的shell脚本,脚本 test.sh 的内容如下:
#!/bin/sh
name=$1 // 将第一个参数赋值给 name
echo "the ${name} are great man!" // ${name} 表示取出name对应的参数
- 2、给新创建的test.sh的脚本赋值 执行权限,命令:
chmod +x test.sh
- 3、执行命令
sh test.sh "zhangsan"
,可以在终端看到结果:“the zhangsan are great man!”
-
说明:
“name=$1” 中 $1 为系统提供的参数位置,$0
代表程序的全路劲名称(~/Desktop.test.sh),[$1,$2... ...] 从1 、2 开始为传入的参数,linux 除了提供了位置参数还提供了内置参数,所有内置参数如下:- $0 ---> 当前脚本文件全路径名参数
- $n ---> 传递脚本或函数的参数,n 是一个数字,表示第几个参数,$1 是第一个,$2 是第二个 依次类推... ...
- $# --->传递给脚本或函数的参数个数
- $* --->传递给脚本或函数的参数个数
// 遍历参数
for var in $*
do
echo "name ${var}"
done
// 一次性获取所有参数
name = $*
echo "name ${name}"
- $@ --->传递给脚本或函数的参数个数
// 遍历参数
for var in $@
do
echo "name ${var}"
done
// 一次性获取所有参数
name = $@
echo "name ${name}"
二、sh 脚本语法基础
-
1、开头
脚本程序必须以#!/bin/sh
开头,且必须写在脚本文件的第一行。
#!
用来告诉系统,他后面的参数是用来执行该文件的程序,这个程序中我们使用/bin/sh
来执行程序。
当编写完脚本文件后,如果要执行该脚本文件,就必须使其可执行,可以使用命令来修改脚本文件的权限,如:chmod +x abc.sh
, 这样就可以使用命令:sh abc.sh
或者bash abc.sh
或者source abc.sh
亦或. abc.sh
来执行这个脚本文件。 -
2、注释
在进行Shell脚本时,以#
开头的句子表示注释,直到这一行结束。 -
3、变量
在Shell编程中,所有的变量都由字符串组成,并且不需要对变量进行声明,要赋值给一个变量可以这么写:
#!/bin/sh
#对变量赋值
a = "hello world"
#打印变量
echo $a
有时候变量名很容易与其它的文字混淆,比如:
num=2
echo "this is the $numnd"
这并不会打印出this is the 2nd
,因为shell 去搜索变量numnd的值,但是这个变量并没有赋值,我们可以使用{}
来告诉shell 我们要打印的num变量,如下:
num=2
echo "this is the ${num}nd"
这样就可以打印出我们预期结果:this is the 2nd
-
4、环境变量
由export
关键字处理过的变量叫做环境变量,我们不对环境变量进行讨论,因为通常情况下仅仅是在登录脚本中使用环境变量 -
5、Shell命令和流程控制
在shell脚本中可以使用3类命令:
1- unix 命令
网友评论