栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Shell script Ⅳ

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Shell script Ⅳ

参考博文https://www.xuliangwei.com/

$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

Linux Systemctl 命令由来及详解 参考博文https://blog.csdn.net/small_queen/article/details/115531530

systemctl是 Systemd 的主命令,用于管理系统。 shell学习:(监控系统状态) 先取行->取值->对比->判断->输出->修改 sh -n xxx.sh 检查语法
显示磁盘分区  	lsblk
显示磁盘挂载  	  df	-h
查看内存使⽤     free	-m

查看系统负载 uptime
退出程序

流程控制语句if
if [  ] ;then
fi
if	[	你有房	];then
		我就嫁给你
elif	[	你有⻋	];then
		我就嫁给你
elif	[	你有钱	];then		
    	我就嫁给你	
else
 		再⻅
fi
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
这条语句中各个参数的意义为:
-c表示的是ping的次数(linux系统下并不会像windows一样ping四次后停止),后面的3为ping三次后终止。
-i表示的是两次ping访问之间的时间间隔,0.2参数表示的是间隔0.2s
-W表示的是定义等待超时的时间,3表示的是超过三秒钟就定义为ping不通
$1为输入的参数
&> /dev/null表示的是用完的参数自动存入一个没有回收功能的垃圾箱

原文链接:https://blog.csdn.net/weixin_41407439/article/details/90708115
2.流程控制语句case

case 变量 in
模式 1)
命令序列 1
break;;
模式 2)
命令序列 2;;
模式 3)
命令序列 3 ;;
*)
⽆匹配后命令序列
esac

#! /usr/bin/bash

read -p "please intput your want number: " number
while true
do
        case $number in
        1)  echo "you elect number 1"
               break
               ;;
        2)  echo "you elect number 2"
               break
               ;;
        3)  echo "you elect number 1"
               break
               ;;
        *)  echo  "you number error ,please  elect 0-3 !!"        
            read -p "please intput your want number: " number
        esac
done                                                                                             
#!/usr/bin/bash
caidan(){
	cat	<<-EOF
===================
h 显示命令帮助				
f 显示磁盘分区
d 显示磁盘挂载
m 查看内存使⽤
u 查看系统负载
q	退出程序
=====================
EOF
}
3、for循环

for 变量名 in [ 取值列表 ]
do
循环体
done
for 循环批量创建⽤户

#!/usr/bin/bash

read -p "please input u want usrname /password/nubmer " name pass num

if [[ ! $num =~ ^[0-9]+$ ]];then
     echo "error please input number again "
fi
cat <<-EOF 
    you want name :    $name
    you want password :$pass
    you want number :  $num
EOF

read -p  "Are you sure create the usr[y|n] " ready

case  $ready in
    y|yes|Y|YES)
                   for i in $(seq $num)
                   do
                       usrname=$name$i
                       id $usrname &>/dev/null
                       if [ $? -ne 0 ];then
                          useradd $usrname && 
                          echo "$pass"|passwd --stdin $usrname &>/dev/null
                          echo "$usrname is ok !"      
                       fi
                   done
                    ;;
    N|n|NO|no|On)
                   exit 1
                    ;;
               *)

                      read -p  "Are you sure create the usr[y|n] " ready

esac
~                     
4、While循环语句

//当条件测试成⽴(条件测试为真),执⾏循环体
while 条件测试
do
循环体
done

1.使⽤ while 创建⽤户
#!/usr/bin/bash
while read	user
do
			id	$user	&>/dev/null
			if	[	$?	-eq 0	];then
				echo "useradd	$user	is	already	exists"
	    	else
				useradd	$user	&>/dev/null
				echo "useradd		$user	is	Created."
	       fi
done/dev/null
	if	[	$?	-eq 0	];then
	echo "useradd	$u	is	already	exists"
    else
        useradd	$u	&&
        echo "$p"|passwd	--stdin	$u		&>/dev/null
	     echo "useradd	$u	is	Created	Passwd	Is	Ok."
	fi
done
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/860082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号