shell程式設計基礎之根據輸入進行相應的操作

2022-03-10 11:13:08 字數 2220 閱讀 6902

這個題目是

輸入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 ""'

' | cut -d '

.' -f 1

); file2=$(ls -l ~/li | grep

'file2

'| awk -f ""'

' | 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 ""'

' | cut -c 1 | tr

\n , );

file_arr=($file_str);

l_num=0

; d_num=0

;

for x in

$

doif [ "

$x" = "

d" ];then

d_num=$(($d_num + 1

));

fiif [ "

$x" = "

l" ];then

l_num=$(($l_num + 1

));

fidone

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

doif [[ ! -n $line ]];then

line_num=$(($line_num + 1

));

fidone

< ~/li/file1

echo

"the number of blank line is $line_num";

else

echo please excute 'a'

first.

fi;;

esac

exit

Linux之shell程式設計基礎

變數在shell中分為 本地變數 環境變數 位置引數 本地變數 僅可在使用者當前shell生命期的指令碼中使用的變數,本地變數隨著shell程序的消亡而無效,本地變數在新啟動的shell中依舊無效,類似於c c 中的區域性變數的概念 環境變數 適用於所有登入程序所產生的子程序 位置引數 用於向she...

Shell指令碼程式設計基礎之shell指令碼退出狀態碼

exit 在指令碼中本身是退出的作用 根據程式執行的結果,返回對應的狀態碼,幫助實現條件判斷 21 15 48 root c8 3 55 grep q root etc passwd echo grep q admin etc passwd echo grep q root abc echo gre...

Shell指令碼程式設計基礎之shell指令碼條件測試命令

注意 表示式前後必須有空白字元 05 19 35 root c8 3 55 help test test test 表示式 對條件表示式進行估值。根據 expr 表示式的估值以狀態 0 真 或 1 偽 退出。表示式可以是一元或者二元的。一元表示式通常用於檢測 檔案狀態。同時還有字串操作符和數字比較操...