shell script練習
1.設定和顯示變數,編寫乙個名為sayhello的script,放置於你的啟動檔案中,當你登陸進系統時能根據當時系統時間顯示一條歡迎資訊,比如:
good morning
good afternoon
good evening
1、script:
#!/bin/bash
#if statement aplication
hh=date '+%h'
date
if [ $hh -gt 12 -a $hh -le 18 ]
then
echo 「good afternoon!」
elif [ $hh -gt 0 -a $hh -le 12 ]
then
echo 「good moring!」
else
echo 「good evening!」
fi#end
2.編寫乙個script能接受乙個目錄作為命令列引數,如果傳入的引數個數多於或少於1,顯示乙個使用資訊提示,比如:「usage: program directory」。如果這個引數不是乙個目錄,顯示乙個錯誤資訊。如果是乙個目錄,顯示出此目錄下的所有檔案,然後再顯示出最大的五個檔案。
2、script:
#!/bin/bash
read -t 30 -p 「請輸入:」 dirr
if [ ! katex parse error: expected 'eof', got '#' at position 1: #̲ -ne 1 ] then …dirr" ];
then
ls $dirr
else
echo 「wrong!」
exit 1
fifi
#end
3.編寫乙個script, 建立目錄/tmp/scripts, 切換工作目錄到此目錄中,複製你home下的某個目錄到當前目錄,並重命名為test,將test裡的檔案及其下的目錄的其他使用者許可權改為沒有任何許可權。
3、script:
#!/bin/bash
#name:cp.bash
mkdir -v /tmp/scripts
cd /tmp/scripts
cp -r /home/scripts_home ./test
chmod -r o=— ./test
4.編寫乙個script, 顯示當前系統日期和時間,而後建立目錄/tmp/lstest, 切換工作目錄至/tmp/lstest, 建立目錄a1d,b56e,6test, 建立空檔案xy,x2y,732, 列出當前目錄下以a,x或者6開頭的檔案或目錄, 列出當前目錄下以字母開頭,後跟乙個任意數字,而後跟任意長度字元的檔案或目錄。
4、script:
#!/bin/bash
#name:date.bash
date
mkdir -pv /tmp/lstest
cd /tmp/lstest
mkdir a1d b56e 6test
touch xy x2y 732
ls [ax6]*
ls [[:alpha:]][[:digit:]]*
#end
5.編寫乙個script檢視根目錄下是否存在某個檔案。
5、script:
#name filee.bash
read -p 「please input :」 file1
if [ -f 「$file1」 ]
then
echo 「檔案存在」
else
echo 「檔案不存在」
fi#end
6.編寫乙個script刪除當前目錄下大小為0的檔案。
6、script:
#!/bin/bash
#name:delete.bash
for file inls|tr " " "?"
doif [ ! -s 「fil
e"−a
!−d"
file" -a ! -d "
file"−
a!−d
"file」 ]; then
rm -f 「$file」
fidone
#end
7.編寫乙個script顯示某個檔案中從指定行數到下乙個指定行數的內容。例如:
$q2 5 5 myfile
即程式q2顯示出檔案myfile中從第5行開始,接下來5行的內容。
7、script:
#!/bin/bash
#name:rawd
echo 「此檔案內容:」
cat 3.txt
read -t 30 -p 「請輸入初始行:」 start
read -t 30 -p 「請輸入末尾行:」 end1
read -t 30 -p 「請輸入檔名:」 filename
cat 3.txt| head -n end
1∣ta
il−n
+end1 | tail -n +
end1∣t
ail−
n+start
#end
8.編寫乙個script把某個目錄下的所有檔名小寫的改為大寫。
8、script:
#!/bin/bash
#name:aatt.bash
read -t 30 -p 「請輸入:」 dirr
cd dir
rfor
file
in∗[
a−z]
∗;do
mv
"dirr for file in *[a-z]*; do mv "
dirrfo
rfil
ein∗
[a−z
]∗;d
omv"
file" 「$(echo $file | tr 『[a-z]』 『[a-z]』)」
done
echo 「transfer finished!」
#end
9.編寫乙個script判斷命令列引數($1)是否包含「」,如果沒有包含「」,在($1)後面加上,反之則顯示資訊symbol is not required
9、script:
#!/bin/bash
echo 「file name: $0」
echo 「first parameter : $1」
echo 「first parameter : $2」
echo 「quoted values: $@」
echo 「quoted values: $"
echo "total number of parameters : katex parse error: expected 'eof', got '#' at position 1: #̲" result=(echo $1 | grep "」)
s1=1if
[[
"1 if [[ "
1if[["
result" != 「」 ]]
then
echo 「包含,symbol is not required」
else
echo $"*"
fi
shell基礎練習
shell基礎練習 1 編寫shell指令碼,實現1 100的猜數字遊戲。bin bash random隨機函式,100取餘就可以獲得1 100的隨機整數 n random 100 while doread p 請輸入乙個1 100間的整數 n1 n2 echo n1 sed s 0 9 g if ...
shell基礎練習
shell基礎練習 1 編寫shell指令碼,實現1 100的猜數字遊戲。bin bash random隨機函式,100取餘就可以獲得1 100的隨機整數 n random 100 while doread p 請輸入乙個1 100間的整數 n1 n2 echo n1 sed s 0 9 g if ...
shell基礎練習
1.shell變數和陣列,返回值 變數 root gimi1 a test root gimi1 echo a test root gimi1 a 1 root gimi1 echo a a陣列 取單個值 root gimi1 echo 從左邊往右取 1 root gimi1 echo 從右邊往左取...