Linux的Shell编程

Linux的Shell编程

Shell 编程一般指 shell 脚本编程。

语法

使用 vi 编辑器新建一个文件 hello.sh

1
2
#!/bin/bash 
echo "Hello World !"
执行
1
2
3
4
5
6
# 方式1
sh hello.sh

# 方式2
chmod +x ./hello.sh #使脚本具有执行权限
./hello.sh #执行脚本

变量

局部变量
1
2
3
#!/bin/bash
str="hello"
echo ${str}world
环境变量
1
2
echo $PATH
echo $HOME

特殊字符

$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。
$$ 脚本运行的当前进程 ID 号
$! 后台运行的最后一个进程的 ID 号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
$? 显示最后命令的退出状态。 0 表示没有错误,其他任何值表明有错误。
1
2
3
4
#!/bin/bash
echo "第一个参数为: $1";
echo "参数个数为: $#";
echo "传递的参数作为一个字符串显示: $*";

执行: ./test.sh 1 2 3

运算符

1
2
3
4
5
6
#!/bin/bash
a=1;
b=2;
echo `expr $a + $b`;
echo $((a+b));
echo $[a+b];

if语句

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
read -p "please input your name:" NAME ## read命令用于从控制台读取输入数据
## printf '%s\n' $NAME
if [ $NAME = root ]
then
echo "hello ${NAME}, welcome !"
elif [ $NAME = itcast ]
then
echo "hello ${NAME}, welcome !"
else
echo "Get out Please!"
fi

for语句

方式1:

1
2
3
4
5
#!/bin/bash
for N in 1 2 3
do
echo $N
done

方式2:

1
2
3
4
5
#!/bin/bash
for ((i = 0; i <= 5; i++))
do
echo "welcome $i times"
done

函数

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
funWithReturn(){
echo "这个函数会对输入的两个数字进行相加运算..."
echo "输入第一个数字: "
read aNum
echo "输入第二个数字: "
read anotherNum
echo "两个数字分别为 $aNum 和 $anotherNum !"
return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为 $? !"

----\(˙<>˙)/----赞赏一下吧~