鳥哥私房菜基礎篇:學習 Shell Scripts習題


貓寧!!!

參考鏈接:http://cn.linux.vbird.org/linux_basic/0340bashshell-scripts.php

 

鳥哥是為中國信息技術發展做出巨大貢獻的人。

 

1-請創建一支 script ,當你運行該 script 的時候,該 script 可以顯示: 1. 你目前的身份 (用 whoami ) 2. 你目前所在的目錄 (用 pwd)

 

#!/bin/bash

echo -e "Your name is ==> $(whoami)"

echo -e "The current directory is ==> $(pwd)"

 

2-請自行創建一支程序,該程序可以用來計算『你還有幾天可以過生日』啊?

 

#!/bin/bash

read -p "Pleas input your birthday (MMDD, ex> 0709): " bir

now=`date +%m%d`

if [ "$bir" == "$now" ]; then

echo "Happy Birthday to you!!!"

elif [ "$bir" -gt "$now" ]; then

year=`date +%Y`

total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))

echo "Your birthday will be $total_d later"

else

year=$((`date +%Y`+1))

total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))

echo "Your birthday will be $total_d later"

fi

 

3-讓使用者輸入一個數字,程序可以由 1+2+3... 一直累加到使用者輸入的數字為止。

 

#!/bin/bash

read -p "Please input an integer number: " number

i=0

s=0

while [ "$i" != "$number" ]

do

i=$(($i+1))

s=$(($s+$i))

done

echo "the result of '1+2+3+...$number' is ==> $s"

 

4-撰寫一支程序,他的作用是: 1.) 先查看一下 /root/test/logical 這個名稱是否存在; 2.) 若不存在,則創建一個文件,使用 touch 來創建,創建完成后離開; 3.) 如果存在的話,判斷該名稱是否為文件,若為文件則將之刪除后創建一個目錄,檔名為 logical ,之后離開; 4.) 如果存在的話,而且該名稱為目錄,則移除此目錄!

 

#!/bin/bash

if [ ! -e logical ]; then

touch logical

echo "Just make a file logical"

exit 1

elif [ -e logical ] && [ -f logical ]; then

rm logical

mkdir logical

echo "remove file ==> logical"

echo "and make directory logical"

exit 1

elif [ -e logical ] && [ -d logical ]; then

rm -rf logical

echo "remove directory ==> logical"

exit 1

else

echo "Does here have anything?"

fi

 

5-我們知道 /etc/passwd 里面以 : 來分隔,第一欄為帳號名稱。請寫一只程序,可以將 /etc/passwd 的第一欄取出,而且每一欄都以一行字串『The 1 account is "root" 』來顯示,那個 1 表示行數。

 

#!/bin/bash

accounts=`cat /etc/passwd | cut -d':' -f1`

for account in $accounts

do

declare -i i=$i+1

echo "The $i account is \"$account\" "

done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM