DAY3,C高级(shell中的变量、数组、算术运算、分支结构)

1.今日思维导图;

2.判断家目录下,普通文件的个数和目录文件的个数;

  1 #!/bin/bash
  2 arr1=(`ls -la ~/ | cut -d 'r' -f 1 | grep -w '-'`)
  3 arr2=(`ls -la ~/ | cut -d 'r' -f 1 | grep -w 'd'`)
  4 echo "普通文件个数:${#arr1[*]}"
  5 echo "目录文件个数:${#arr2[*]}"
                                                                                                                                                                                              

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第1张图片

3.输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限;

  1 #!/bin/bash
  2 read -p "输入文件名:" fname
  3 
  4 if [[ $fname == *".sh" ]]                                                                       
  5 then
  6     echo "是脚本文件"
  7     if [ -x $fname ]
  8     then
  9         bash $fname
 10     else
 11         sudo chmod a+x $fname
 12     fi
 13 
 14 else
 15     echo "不是脚本文件"
 16 fi

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第2张图片

4.终端输入两文件名,判断哪一个文件更新;

  1 #!/bin/bash                                                                                     
  2 read -p "输入两个文件:" file1 file2
  3 
  4 if [ $file1 -nt $file2 ]
  5 then
  6     echo "$file1比$file2更新"
  7 else
  8     echo "$file2比$file1更新"
  9 fi

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第3张图片

5.终端输入用户,判断用户是否存在,如果不存在,添加用户;

  1 #!/bin/bash                                                                                     
  2 read -p "输入用户:" user
  3 
  4 str=`grep -w $user /etc/passwd | cut -d : -f 1`
  5 
  6 if [[ $user != $str ]]
  7 then
  8     echo "用户不存在,创建---"
  9     sudo adduser $user
 10 else
 11     echo "用户存在"
 12 fi

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第4张图片

6.输入学生成绩,判断等级,;A[100,90),B[90,80),C[80,70),D[70,60)

  1 #!/bin/bash                                                                                     
  2 read -p "输入学生成绩:" score
  3 
  4 if [ $score -ge 90 ]
  5 then
  6     echo "A"
  7 elif [ $score -ge 80 ]
  8 then
  9     echo "B"
 10 elif [ $score -ge 70 ]
 11 then
 12     echo "C"
 13 elif [ $score -ge 60 ]
 14 then
 15     echo "D"
 16 else
 17     echo "E"
 18 fi

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第5张图片

7.写一个shell脚本,获取当前用户名,用户id和工作路径;

  1 #!/bin/bash                                                                                     
  2 user=`whoami`
  3 echo "用户名:$user"
  4 echo "用户id:`id -u $user`"
  5 echo "工作路径:`pwd`"

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第6张图片

8.统计/etc目录下以P或p开头的文件个数;

  1 #!/bin/bash
  2 arr=(`ls /etc | grep -i "^p"`)
  3 
  4 echo ${arr[*]}
  5 echo "以P或p开头的文件个数:${#arr[*]}"                                                                                 

DAY3,C高级(shell中的变量、数组、算术运算、分支结构)_第7张图片

 

你可能感兴趣的:(c高级,c语言,shell)