LinuxShell初级编程基础语法

文件相关的判断

判断文件

free命令介绍

  1. -h 表示以最多三位有效数字加上字节单位显示内存信息
  2. free 表示空闲,buff/cache 表示 I/O缓存,available表示可用的是free+可回收IO-不可回收IO,shared没查到,是共享区内存么
    free命令介绍

awk命令介绍

  1. awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
  2. -F ‘指定分隔符’ :以指定分隔符切分
  3. 这里只是简单使用一下
  4. FreeMen=`free -m | grep Mem | awk ‘{print $4}’`
    解释一下:grep Mem 查询Mem所在行
    awk 模式 行为 默认空格或者tab分割,后面的行为是输出$4 指的是第四列,$0输出全部域信息

Shell基础语法

  1. if…elif…else
 #!/bin/bash
 # test if...elif..else
read -p "Enter you score: " score
if [ $score -ge 80 ] && [ $score -le 100 ]
then
echo "Successful"
elif [ $score -ge 60 ] && [ $score -lt 80 ]
then
echo "Pass"
else
echo "Failure"
fi

  1. for
#!/bin/bash
# test fot recycle

for line in `cat hosts.txt`
do
echo $line
done

  1. while 取随机数,猜随机数
#!/bin/bash
# a guess number game
price=`expr $RANDOM % 1000`
count=0
while true
do
let count++
read -p "Enter your guess number : " guess
if [ $guess -eq $price ]
then
echo "Success! count=$count"
exit
elif [ $guess -lt $price ]
then
echo "low"
elif [ $guess -gt $price ]
then
echo "high"
fi
done
  1. ping 从文件中读取hosts 测试是否ping通
#!/bin/bash
# test ping
read -p "enter hosts:\n" host
ping -c 3 -i 0.2 -W 3  $host &> /dev/null
if [ $? -eq 0 ]
then
echo "$1 is On-line"
else
echo "$1 is Off-line"
fi
  1. 循环从文件添加用户并为每个用户输入密码
#!/bin/bash
# test add users from users.txtf
for username in `cat users.txt`
do
id $username &> /dev/null
if [ ! $? -eq 0 ]
then
read -p "Enter password for $username: " passwd
useradd $username &> /dev/null
echo $passwd | passwd --stdin $username &> /dev/null
if [ $? -eq 0 ]
then
echo "$username create success!"
else
echo "$username create and passwd failed!"
fi
else
echo "$username is already exists!"
fi
done
  1. 循环从文件读取用户并删除
#!/bin/bash
# delete users from users.txt
for username in `cat users.txt`
do
userdel -r $username &> /dev/null
done
  1. case
#!/bin/bash
# delete users from users.txt
for username in `cat users.txt`
do
userdel -r $username &> /dev/null
done
[root@izwz9c58cw570jzn22ns3oz ~]# cat testCase 
#!/bin/bash
# test case
read -p "enter a alphabet:" alphabet
case $alphabet in 
[a-z]|[A-Z])
echo "this is a alphabet"
;;
[0-9])
echo "this is a number!"
;;
*)
echo "this is unrecognizable"

esac
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值