Shell 编程增强
Shell编程一般指编写shell脚本。
1、基本语法:
使用vi编辑器新建一个文件hello.sh
#!/bin/bash
echo "Hello World!"
执行方式:
方式1:
sh hello.sh
方式2:
chmod +x ./hello.sh #使脚本具有执行权限
./hello.sh #执行脚本
2、变量:
(1)局部变量
#!/bin/bash
str="hello"
echo ${str}world
(2)环境变量
echo $PATH
echo $HOME
# (1)在/etc/profile文件下,定义环境变量:
export MYENV=/root/lib/demo
# (2)生效环境变量
source /etc/profile
# (3)在命令行里输出,查看是否存在自身所定义的环境变量
env
3、特殊字符
$# | 传递脚本的参数个数 |
---|---|
$* | 以一个单字符串显示所有向脚本传递的参数。 |
$$ | 脚本运行的当前进程ID号。 |
$! | 后台运行的最后一个进程的ID号。 |
$@ | 与$*相同。但是使用时加引号,并在引号中返回每个参数。 |
$? | 显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误。 |
#!/bin/bash
echo "第一个参数为:$1"
echo "参数个数为:$#"
echo "传递的参数作为一个字符串显示:$*"
执行:./test.sh 1 2 3
4、运算符
#!/bin/bash
a=1;
b=2;
echo 'expr $a + $b';
echo $((a + b));
echo $[a + b];
5、if 语句
#!/bin/bash
read -p "please input your name:" NAME ##read 命令用于从控制台输入数据
## printf '%s
' $NAME
if [ $NAME = root ]
then
echo "hello ${NAME}, welcome !"
elif [ $NAME = itcast ]
then
echo "hello ${NAME}, welcome !"
else
echo "Get out Please!"
fi
6、for语句
方式1:
#!/bin/bash
for N in 1 2 3
do
echo $N
done
方式2:
#!/bin/bash
for ((i = 0; i <= 5; i++))
do
echo "welcome $i times"
done
7、函数
#!/bin/bash
funWithReturn(){
echo "这个函数会对输入的两个数进行相加运算..."
echo "第一个数字:"
read aNum
echo "第二个数字:"
read anotherNum
echo "两个数字分别为 $aNum 和 $anotherNum !"
return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为$?!"