linux 下shell 編寫指令碼

來源:互聯網
上載者:User

標籤:style   blog   http   ar   sp   檔案   資料   on   art   

linux 下shell 編寫指令碼:
1.程式結構練習:編寫一個指令碼,給定一個正整數,計算出這個數所有位的數字之和。
例如:程式給定輸入123,那麼應該返回1+2+3=6。

2.程式結構練習:編寫一個指令碼,給定一個正整數,反序輸出這個這個數。
例如:程式輸入123,那麼應該輸出321.

3.Linux命令+shell編程:編寫一個程式,實現定時檔案備份的功能。
要求:
1.備份某個目錄下的所有檔案
2.對備份檔案進行壓縮
3.產生合理的記錄檔

4.Shell下的gui(libnotify-bin)編程
http://blog.mpathirage.com/2009/09/12/using-libnotify-in-ubuntu-9-04/
要求:
實現定時提醒功能,通過命令列參數設定提示時間和提醒內容

5.Shell文本處理功能(sed和awk)
1.開啟sname和smark兩個檔案,查看檔案內容。
2.從sname中提取學生姓名(cut),顯示如下:
zhangsan
lisi
wangwu
maliu
3.合并兩個檔案的內容(join),輸出如下:
11 zhangsan 56
12 lisi 78
13 wangwu 98
14 maliu 87
4.小寫字母轉換成大寫字母(tr)
5.查看inventory檔案,過濾到中間一行,得到第一行和第三行的資料。效果如下:
cacke 10
Pen 12
floppy 5


6.查看teaormilk檔案,將每一行中的tea替換成milk。(sed)結果如下: 

India’s milk is good.
milk Red-Lable is good.
milk is better than the coffee.
7.查看personame檔案,僅輸出存在一行的資料(uniq)。結果如下:
Hello I am vivek
12333
welcome
to
sai computer academy a’bad.
what I still remember that name
oaky!how are u ,luser
what still I remember that name
8.查看demo-file檔案,要求僅僅輸出該行中含有too的行(grep)。結果如下:
cartoons are good
especially toon like tom (cat)
I too
請高手們把程式給我寫出來,會幾個就寫幾個,謝謝。

 


最佳答案 第一題
#!/bin/bash
declare -i a=$1
declare -i sum=0
while [ "$a" -ne "0" ]
do
sum=$sum+$a%10
a=$a/10
done
echo "The result is $sum"
第二題
#!/bin/bash
declare -i a=$1
while [ $a -ne 0 ]

do
echo -n "$(($a%10))"
a=$a/10
done
echo
第三題
指令碼命名為backupdaily.sh
在/etc/crontab裡加入一行
0 2 * * * root ~/backup/backupdaily.sh
#!/bin/bash
day=`date +%Y%m%d`
tar -czf ~/backup/"$day".tar.gz ~/anydir
echo "$day: tar -czf ~/backup/$day.tar.gz ~/anydir" >> ~/backup/backuplog
第四題
以前沒用過,試了下,manpage裡就那幾個參數
#例如提示“message” 持續三秒鐘:
#notify-send "message" -t 3000

第五題
大哥你也不給sname和smark的格式,欄位位置我就瞎猜啦
1.#cat sname ;cat smark
2.#cat sname | cut -d ‘ ‘ -f 2
3.#join -1 1 sname -2 1 smark
4.#cat sname smark | tr "[a-z]" "[A-Z]"
5 #cat inventory | cut -d ‘ ‘ -f 1,3
6#cat teaormilk | sed ‘s/tea/milk/g‘
7#cat personame | sort | uniq -u
8#cat demo-file | grep "too"

linux 下shell 編寫指令碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.