这个题目是
输入A:创建自己名字的文件夹,如果有这个文件夹的话,就读取file1和file2的文件内容
输入B:获取当前用户对file1和file2文件权限
输入C:内容转为大写
输入D:计算连接和文件数目
输入E:计算文件空行数目
以下是我的代码:
#! bin/bash read opts; case $opts in 'A') if [ -d ~/li ];then cp ./file1 ~/li; cp ./file2 ~/li; cat ~/li/file1; cat ~/li/file2; else mkdir ~/li; chmod -R 755 ~/li; fi ;; 'B') if [ -d ~/liwei ];then file1=$(ls -l ~/li | grep 'file1'| awk -F " " '{print $1}' | cut -d '.' -f 1); file2=$(ls -l ~/li | grep 'file2'| awk -F " " '{print $1}' | cut -d '.' -f 1); echo your power of file1 is $file1; echo your power of file2 is $file2; else echo please excute 'A' first; fi ;; 'C') if [ -d ~/li];then file1=$(cat ~/li/file1); file2=$(cat ~/li/file2); upper=$(echo $file1 | tr '[a-z]' '[A-Z]'); lower=$(echo $file2 | tr '[a-z]' '[A-Z]'); echo 'uppercase show of file1 and file2:'; echo $upper; echo $lower; else echo please excute 'A' first; fi ;; 'D') file_str=$(ls -l /dev | awk -F " " '{print $1}' | cut -c 1 | tr \n , ); file_arr=($file_str); l_num=0; d_num=0; for x in ${file_arr[@]} do if [ "$x" = "d" ];then d_num=$(($d_num + 1)); fi if [ "$x" = "l" ];then l_num=$(($l_num + 1)); fi done echo the number of directory in dev is $d_num; echo the number of link in dev is $l_num; ;; 'E') line_num=0; test_num=0; if [ -d ~/li ];then while read line do if [[ ! -n $line ]];then line_num=$(($line_num + 1)); fi done < ~/li/file1 echo "the number of blank line is $line_num"; else echo please excute 'A' first. fi ;; esac exit