shell脚本需求

需求一:写一个脚本
  1.设定变量FILE的值为/etc/passwd
  2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么
  形如:(提示:LINE=`wc -l /etc/passwd | cut -d" " -f1`)
  Hello,root,your UID is 0.
  3.统计一个有多少个用户

#!/bin/bash
           file="/etc/passwd"
           LINES=`wc -l $file | cut -d" " -f1`
           for I in `seq 1 $LINES`;do
           userid=`head -$I $file | tail -1 |cut -d: -f3`
           username=`head -$I $file | tail -1 |cut -d: -f1`
           echo "hello $username,your UID is $userid"
           done
           echo "there are $LINES users"
答案一:
 1 #!/bin/bash
 2            file=/etc/passwd
 3            let num=0
 4            for I in `cat $file`;do
 5            username=`echo "$I" | cut -d: -f1`
 6            userid=`echo "$I" | cut -d: -f3`
 7            echo "Hello,$username,your UID is $userid"
 8            num=$[$num+1]
 9            done
10            echo "there are $num users"
答案二:

需求二:写一个脚本
1.切换工作目录至/var
2.依次向/var目录中的每个文件或子目录问好,形如:
(提示:for FILE in /var/*;或for FILE in `ls /var`;)
Hello,log
3.统计/var目录下共有多个文件,并显示出来

1 #!/bin/bash
2          cd /var
3          let num=0
4          for I in `ls /var/*`;do
5          echo "hello $I"
6          num=$[$num+1]
7          done
8          echo "the number of files is $num"
答案:

练习三:写一个脚本
      1.设定变量file的值为/etc/passwd
      2.使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容
      3.把这些行保存至/tmp/mypasswd文件中

1 #!/bin/bash
2        file="/etc/passwd"
3        for I in 2 4 6 10 13 15;do
4        exec 3>/tmp/mypasswd
5        line=`head -$I $file | tail -1`
6        echo "$line"
7        echo "$line" >&3
8        exec 3>&-
9        done
答案:
练习四:写一个脚本
       传递两个整数给脚本,让脚本分别计算并显示这两个整数的和,差,积,商
 1 #!/bin/bash
 2                     echo "first number $1"  (表示输出第一个数)
 3                     echo "second number $2" (表示输出第二个数)
 4                     echo " $(($1+$2))"      (输出两数之和)
 5                     echo "$[$1-$2]"         (输出两数之差)
 6                     echo "$[$1*$2]"         (输出两数之积)
 7                     echo "$[$1/$2]"         (输出两数之商)
 8                     :wq                    (表示保存并退出vi编辑器)
 9                     chmod +x test.sh       (给test.sh执行的权限)
10                     ./test.sh 2 3          (传递两个参数并执行脚本 
答案

 

转载于:https://www.cnblogs.com/zhj5551/p/7655680.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于shell脚本的定时任务需求,你可以使用crontab来实现。crontab是一个定时任务的管理工具,可以让你在指定的时间或者周期性地执行脚本。 要设置一个定时任务,你可以使用以下命令来编辑crontab文件: ``` crontab -e ``` 然后在打开的文件中,你可以添加类似如下的一行来指定定时任务的执行时间和要运行的脚本: ``` * * * * * /path/to/your/script.sh ``` 上述的五个星号代表了定时任务的执行时间。具体含义如下: - 第一个星号代表分钟,范围是0-59。 - 第二个星号代表小时,范围是0-23。 - 第三个星号代表日期,范围是1-31。 - 第四个星号代表月份,范围是1-12。 - 第五个星号代表星期几,范围是0-7(0和7都代表星期日)。 例如,如果你想在每天的上午10点运行脚本,你可以这样设置: ``` 0 10 * * * /path/to/your/script.sh ``` 设置完成后,保存并退出文件即可。 除了使用具体的时间点,你还可以使用一些特殊字符来表示不同的周期性任务。例如: - `*` 表示任意时间点。 - `*/n` 表示每隔n个单位执行一次任务。例如,`*/5`表示每隔5分钟执行一次。 - `n` 表示具体的时间点。例如,`30`表示每小时的30分钟执行一次。 注意,crontab任务是与用户关联的,所以需要确保你设置了正确的用户来运行任务。 希望这些信息对你有所帮助!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值