歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> 通過shell例子來學習循環結構的語法

通過shell例子來學習循環結構的語法

日期:2017/3/1 10:01:03   编辑:SHELL編程

心得: 所謂有用就是學會了一直在使用,不經常用叫沒多大用,忘記了就叫沒用。反過來想想經常挨領導批的很有可能是領導對你有很大的期望。所以我們學會的東西要經常用到實際中去才是自己的東西。

其實學習的最好方法就是先接觸實際的東西,用實踐來驗證理論。

寫腳本編寫要求證,可以一邊測試一邊寫(中間最好有個輸出標記看到哪兒錯了)。

下面的例子在林夕昱老師的視頻裡看到的,自己為了練習在CentOS的系統下默寫下來了,可能是剛學吧,總是寫下來執行後得到好多提示(當然了這些提示是錯誤信息的了,不過對我這個初學者挺有幫助的,希望初學者看過林老師的視頻知道思路後一定要自己試著寫下來練習才是)。在這裡想通過自己看過視頻後做個筆記吧,也是幫助自己更快進步。廢話不說了,看例子吧

example 1:該腳本是讓用戶輸入目錄,然後腳本會先判斷是不是目錄或為空否,如是目錄會先列出目錄下的文件,然後一個一個判斷文件的類型,在判斷文件的權限。最後列出用戶輸入目錄下的文件的類型和權限。

#!/bin/bash
#program:use for to display a directory's filetype and permission
#history:2013-02-20 ASK first release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "please you input a directory:" dir
if [ -z "$dir" -o ! -d "$dir" ]; then
echo "you have input nothing or $dir is NOT a directory"
exit 0
fi
filen=`ls $dir`
for filename in $filen
do
[ -c $dir/$filename ] && filetype="is character file"
[ -p $dir/$filename ] && filetype="is PIPE file"
[ -f $dir/$filename ] && filetype="is regular file"
[ -L $dir/$filename ] && filetype="is link file"
[ -S $dir/$filename ] && filetype="is sokkt file"
[ -d $dir/$filename ] && filetype="is directory"
[ -b $dir/$filename ] && filetype="is block file"

[ -r $dir/$filename ] && per="$per readable"
[ -w $dir/$filename ] && per="$per writeable"
[ -o $dir/$filename ] && per="$per executable"
[ -u $dir/$filename ] && per="$per set UID"
[ -g $dir/$filename ] && per="$per set GID"
[ -k $dir/$filename ] && per="$per set Sticky bit"

echo "this file $dir/$filename is $filetype ,and permission is $per "

filetype=""
per=""
done

Copyright © Linux教程網 All Rights Reserved