歡迎您光臨本站 註冊首頁

紅旗Linux 5.0下的「通訊錄」

←手機掃碼閱讀     火星人 @ 2014-03-23 , reply:0

苦於沒有LINUX下的C語言教程,於是到了紅聯上找啊找,找到個BASH的教程,寫的還不錯,詼諧易懂,於是在作者的引導下,開始寫下了自己的第一個 BASH程序。程序很簡單,可是通過教程,我卻似乎得到很多的啟發,例如LINUX下編程的意義以及編程的子程序概念,真的是開卷有益啊!

下面寫一下這個被稱為「通訊錄」的小東東,雖然現在很簡單,但是以後會更新的(本來是學C的,可是轉來轉去卻找來了個BASH的教程,那就學一下吧,反正有用)

一個叫做「通訊錄」文件夾,裡面有「數據.dat」、「界面」、「查看」、「添加」、「管理」、「通訊錄」等文件。

「數據.dat」是記錄「通訊錄」的數據文件,「通訊錄」是主程序,「界面」等文件是「通訊錄」的子程序,這個程序可以執行查看原有通訊記錄,添加新的通訊記錄,並可以對"數據.dat"進行修改(其實數據.dat直接就可以用文本方式打開了,汗一個)

好了,不多廢話,下面看一下各個程序裡面究竟有什麼東東:

界面:顧名思義,就是啟動主程序的時候,用戶首先看到的東東~(文學水平有限,不知道怎麼形容了==)

#!/bin/bash
clear
echo ""
echo "通訊錄"
echo ""
echo "開發:leejianjun"
echo ""
echo "1 查看"
echo "2 添加"
echo "3 管理"
echo "4 退出"
echo ""

說明:就是這麼幾行,高手們不要打我,第一次學習嘛~

然後就是查看了:(PS:本文的系統環境是紅旗LINUX桌面5,所以直接就用中文名做程序名了,其他的英文版本LINUX建議不要這樣做。。)

#!/bin/bash
clear
echo "查看通訊錄"
echo ""
echo " 姓名 手機號碼 QQ號碼 城市"
echo ""
cat 數據.dat
echo ""
echo "1 繼續"
echo "2 返回"
echo "3 退出"
echo ""
echo "請您選擇:"
read selection
case $selection in
"1")
./查看
;;
"2")
./通訊錄
;;
"3")
echo "再見!"
exit
esac

說明:比較複雜哦,不過仔細一看,也就是來回那幾行~

看清楚了嗎,其實並不是偷懶,而是程序的需要~(「添加」子程序)

#!/bin/bash
clear
echo "添加通訊錄"
echo ""
echo "請輸入您的好朋友的名字:"
read Xingming
echo "請輸入您的好朋友的手機號碼:"
read ShoujiHaoma
echo "請輸入您的好朋友的QQ號:"
read QQhaoma
echo "請輸入您的好朋友目前所在城市:"
read Chengshi
echo "$Xingming $ShoujiHaoma $QQhaoma $Chengshi">>數據.dat
echo ""
echo "添加成功!"
echo "1 繼續"
echo "2 返回"
echo "3 退出"
echo ""
echo "請您選擇:"
read selection
case $selection in
"1")
./添加
;;
"2")
./通訊錄
;;
"3")
echo "再見!"
exit
esac

「管理」子程序,教程上並沒有,自己試了下vi命令,居然可以~~(算是一個小小滴原創哈~~vim是vi試驗成功后的 強化版,支持中文的說 ~)PS:以中文為本嘛~

#!/bin/bash
clear
vim ./數據.dat
echo "1 繼續"
echo "2 返回"
echo "3 退出"
echo ""
echo "請您選擇:"
read selection
case $selection in
"1")
./管理
;;
"2")
./通訊錄
;;
"3")
echo "再見!"
exit
esac

終於來一次集成了(系統運行的時候很傻,就像菜單式交換機那樣選擇「1、2、3」。。)

#!/bin/bash
clear
./界面
echo "請您選擇:"
read selection
case $selection in
"1")
./查看
;;
"2")
./添加
;;
"3")
./管理
;;
"4")
echo "再見!"
exit
esac

這就是我的第一個程序了,雖然很大部分是來自教程,可當它真正運行的時候,我才開始理解作者在教程中說的一句話:「編程是那麼地容易上癮」,但願我不會!

[火星人 ] 紅旗Linux 5.0下的「通訊錄」已經有163次圍觀

http://coctec.com/docs/linux/show-post-128735.html