一、Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义:

可以通过脚本测试来区分这几个变量的具体作用和用法.

脚本如下:

# vim variable
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "show parm list:$*"
echo "show process id:$$"
echo "show precomm stat: $?"

:wq

赋予脚本执行权限

# chmod +x variable

执行脚本

# ./variable aa bb
number:2
scname:./variable
first:aa
second:bb
argume:aa bb
show parm list:aa bb
show process id:24544
show precomm stat:0

通过显示结果可以看到:

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
############################################################################

二.linux shell 之read -p 用法

shell下的read命令的作用是从标准流中读取输入,并把读取的内容放到某个变量中。

#!/bin/bash
echo -e "Please enter your test :"
read TESTREAD
echo $TESTREAD

##########################################
实例2
#!/bin/bash
mum=$1
mum=${mum:-3}            #变量替换##当$mum的值大于或等于3后,就执行else后面的.
if [ $mum = "1" ];then
echo "测试环境 ..."
elif [ $mum = "2" ];then
echo "生产环境"
else
echo "请输入1或2,或单击enter键…"
fi
echo -e "\033[35m --------- 你输入的是数字$mum!!!$in \033[39;49;0m"
echo  "  press    any  key to continue "                 # 提示按任意键继续...
read key                           

 三、SHELL学习笔记之循环语句之for和while  

循环语句:for  while
  1.)for循环语句是在知道循环次数时使用.
  2.)while循环语句是在不知道循环次数时使用,使变量增加1的操作可以写成"let,i++"或expr变量1运算符变量

for循环结构:

for 变量名 in 取值列表                           
 do                                              
 命令序列                                        
 done        

while循环结构:

while   条件测试命令
 do
 命令序列
done

for 循环实例:

[root@localhost source]# more for.sh
#!/bin/bash
for((i=1;i<10;i++)) 
do 
echo $i 
done  
或着(两种方式执行的结果是一样的)。
#!/bin/bash
for i in `seq 10`
do
echo $i  
done
执行结果:
[root@localhost source]# sh for.sh
1
2
3
4
5
6
7
8
9
例2:for循环之创建用户脚本:
#!/bin/bash
for i in {1...10}
 do
 useradd studet$i
 echo password | passwd --stdin studet$i
 done
for 循环实例
1 #!/bin/bash
2 for i in `rpm -qa |grep httpd|awk '{print $1}'`
3 do 
4 
5   /bin/echo $i
6   /bin/echo start .....uninstall...
7   rpm -e --nodeps $i 
8   echo $i uninstall sucess...
9 done
批量卸载rpm安装包

相关文章:

  • 2021-06-20
  • 2021-09-01
猜你喜欢
  • 2021-07-15
  • 2021-11-03
  • 2021-12-03
  • 2021-09-16
  • 2022-02-27
  • 2021-10-09
相关资源
相似解决方案