Shell 脚本 100 例《一》

网友投稿 225 2022-11-13

Shell 脚本 100 例《一》

1. 编写 hello world 脚本 #!/bin/bash echo "hello world"   2. 通过位置变量创建 Linux 系统账户及密码 #!/bin/bash #$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 useradd    "$!" echo "$2"  |  passwd  ‐‐stdin  "$2"   3. 每周 5 使用 tar 命令备份/var/log 下的所有日志文件 #vim  /root/logbak.sh #编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖 #注意 date 命令需要使用反引号括起来,反引号在键盘键上面 tar    -czf    log-`date +%Y%m%d`.tar.gz    /var/log   # crontab ‐e                             #编写计划任务,执行备份脚本 00    03    *    *    5      /root/logbak.sh   4. 一键部署 LNMP(RPM 包版本) #!/bin/bash #使用 yum 安装部署 LNMP,需要提前配置好 yum 源,否则该脚本会失败 #本脚本使用于 centos7.2 或 RHEL7.2 yum ‐y install yum ‐y install mariadb mariadb‐devel mariadb‐server yum ‐y install php  php‐mysql   systemctl start mariadb systemctl enable mariadb   5. 实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M 时,发送报警邮件给 root 管理员 #!/bin/bash #Author:丁丁历险(Jacob) #提取根分区剩余空间 disk_size=$(df / |awk '/\//{print $4}')

#提取内存剩余空间 mem_size=$(free |awk '/Mem/{print $4}') while : do #注意内存和磁盘提取的空间大小都是以 Kb 为单位 if  [  $disk_size  ‐le  512000  ‐a  $mem_size  ‐le  1024000  ];then      mail  ‐s  Warning  root  <

#!/bin/bash if  [  $UID  ‐eq  0  ];then          yum  ‐y  install   vsftpd else         echo "您不是管理员,没有权限安装软件" fi   9. 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户 不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默 认的 123456 作为默认密码。 #!/bin/bash read  ‐p  "请输入用户名: "   user #使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2 #没有输入用户名脚本退出后,使用$?查看的返回码为 2 if  [   ‐z  $user  ];then       echo "您不需输入账户名"       exit 2 fi #使用 stty ‐echo 关闭 shell 的回显功能 #使用 stty  echo 打开 shell 的回显功能 stty  ‐echo read  ‐p  "请输入密码: "     pass stty  echo pass=${pass:‐123456} useradd   "$user" echo  "$pass"  |  passwd  ‐‐stdin   "$user"   10. 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字 #!/bin/bash read ‐p "请输入一个整数:" num1 read ‐p "请输入一个整数:" num2 read ‐p "请输入一个整数:" num3 #不管谁大谁小,最后都打印 echo "$num1,$num2,$num3" #num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值 #如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调 tmp=0 #如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值 if [ $num1 ‐gt $num2 ];then          tmp=$num1   num1=$num2   num2=$tmp fi #如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值 if [ $num1 ‐gt $num3 ];then          tmp=$num1   num1=$num3   num3=$tmp fi #如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值

if [ $num2 ‐gt $num3 ];then   tmp=$num2   num2=$num3   num3=$tmp fi   echo "排序后数据为:$num1,$num2,$num3"

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Maven创建项目过慢的4种解决办法
下一篇:一分钟读教你懂什么叫USB 3.1 Type-C
相关文章

 发表评论

暂时没有评论,来抢沙发吧~