shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本相关的知识,希望对你有一定的参考价值。

1,编写hello world的脚本

#!/bin/bash

echo "hello world"

2.创建Linux系统帐号和密码

#!/bin/bash

read -p '请输入用户名:' a

read -s -p '请输入密码:' b

useradd $a

echo $b | passwd --stdin $a

3. 通过位置变量创建 Linux 系统账户及密码

#!/bin/bash 

#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 

useradd    "$!"

echo "$2"  |  passwd  ‐‐stdin  "$2"

4.脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,

猜小了或猜大了,直至用户猜对脚本结束。

#!/bin/bash  

#RANDOM 为系统自带的系统变量,值为 0‐32767 的随机数 

#使用取余算法将随机数变为 1‐100 的随机数 

num=$[RANDOM%100+1] 

 

#使用 read 提示用户猜数字 

#使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),‐lt(小于),‐le(小

于等于) 

while  : 

do 

      read ‐p  "计算机生成了一个 1‐100 的随机数,你猜: "  cai 

      if   [  $cai  ‐eq   $num  ];then 

             echo   "恭喜,猜对了" 

             exit 

      elif  [  $cai   ‐gt   $num  ];then 

             echo   "Oops,猜大了" 

      else 

             echo   "Oops,猜小了" 

      fi 

done 

5.

依次提示用户输入 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"


以上是关于shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本--变量(后附简单shell脚本案例)!

shell脚本翻译 急求

shell脚本书写方法

如何在shell脚本里调用另一个shell脚本

shell脚本获取参数&在线执行shell脚本

shell脚本中#是啥意思