1.首先什么玩意是shell脚本:
shell就是将需要执行的命令保存到脚本中执行,去做重复、复杂的工作
来一个简单的例子理解脚本:(写个脚本jiaoben.sh)
[root@pixiaoxian ~]# vim jiaoben.sh
[root@pixiaoxian ~]# cat jiaoben.sh
#!/usr/bin/bash
mkdir code
cd code
for ((i=0; i<3; i++)); do
touch test_${i}.txt
echo "理解shell小脚本" >> test_${i}.txt
done
[root@pixiaoxian ~]# bash jiaoben.sh
[root@pixiaoxian ~]# cd code
[root@pixiaoxian code]# ls
test_0.txt test_1.txt test_2.txt
[root@pixiaoxian code]# cat test_0.txt
理解shell小脚本
这里脚本的效果就是创建一个code的文件夹,然后进入code文件夹创建三个文件,用循环写出来的test_0、1、2.txt文件,最后给这三个文件里写上一句‘理解shell小脚本’
2.那啥又是脚本中用到的变量:
就是临时保存数据,而且可变的东西,在脚本中需要多次使用,重复出现滴
比如:
[root@pixiaoxian ~]# A=hello
[root@pixiaoxian ~]# echo $A
hello
[root@pixiaoxian ~]# unset A #取消A的变量值
[root@pixiaoxian ~]# echo $A
[root@pixiaoxian ~]#
3.那什么是交互式的变量?
read [选项] 变量名
选项包括: -p :定义给用户的提示
-n :限制变量值的长度
-s :隐藏用户输入的内容
-t :输入超时的时间
简单的示个小例:
[root@pixiaoxian ~]# read -p 'input your name:' name
input your name:PXX
[root@pixiaoxian ~]# echo $name
PXX
再比如说这个变量值来自文件:
[root@pixiaoxian ~]# cat IP.txt
192.168.201.128
[root@pixiaoxian ~]# read IP < IP.txt #把ip.txt文件内容写给这个IP变量
[root@pixiaoxian ~]# echo $IP
192.168.201.128
3.1 定义有类型的变量
declare [选项] 变量名
选项包括: -i 将变量看成整数
-r 定义只读变量 declare -r B=hello 之后再怎么定义B都是hello
示例一下-i的意思:
[root@pixiaoxian ~]# declare -i A=250
[root@pixiaoxian ~]# echo $A
250
[root@pixiaoxian ~]# A=hello
[root@pixiaoxian ~]# echo $A
0 #他是数值类型,所以字符串就不好使了
[root@pixiaoxian ~]# A=300
[root@pixiaoxian ~]# echo $A
300
先来这么多吧