»
遊客:
加入
|
登入
(帳號有問題請連絡TWed2k@gmail.com)
TWed2k
»
程式開發討論區
» [求助]朋友的LINUX作業...orz
可打印版本
|
推薦給朋友
|
訂閱主題
|
收藏主題
|
純文字版
論壇跳轉 ...
主題:
[其他]
[求助]朋友的LINUX作業...orz
字型大小:
小
|
中
|
大
|
巨
←
→
oldk999
鐵驢友〔高級〕
今日心情
. 積分:
79
. 文章:
138
. 收花: 498 支
. 送花: 195 支
. 比例: 0.39
. 在線: 2296 小時
. 瀏覽: 21561 頁
. 註冊:
7450
天
. 失蹤:
201
天
. 拉普達
#1 : 2013-5-2 11:42 PM
只看本作者
送花
(6)
送出中...
小弟的朋友最近向小弟求助...無奈...小弟從沒摸過LINUX
..這幾天自行摸索下只用Shell Script寫出了些許答案(藍色部份)也不知道對不對 , 所以只好上來請求版上各位大大們的協助
小弟感激不盡啊
看了 watchme 大大的第2題答案 , 小弟試著寫了第14題 , 如今只剩第15題了 , 希望有大大能相助啊~小弟感激不盡~
在此也感謝 watchme 大大的大力相助
14. 寫一程式檢查某一檔案(/home/tsnien/testfile)(1)是否存在,(2) 如不存在,則建立一個該名稱的空檔案(touch),(3) 如存在的話,判斷它是否為檔案,如是目錄的話,則刪除該目錄,再產生檔案。
if [ -e /home/tsnien/testfile ]; then
if [ -d /home/tsnien/testfile ]; then
rm -r /home/tsnien/testfile
touch /home/tsnien/testfile
fi
else
touch /home/tsnien/testfile
fi
15. 請製作ㄧ套帳戶管理系統,至少具有下列功能: (檔名:user_menu,選單功能)
(1) 增加/刪除某一個帳戶(包含變更或刪除密碼,並可選擇群組、Shell 環境)。
(2) 增加/刪除多位帳戶(包含刪除或變更密碼)。
(3) 可查詢某一帳戶的相關訊息,如 Home directory、Shell、以及其他資料。
(4) 可針對帳戶密碼使用週期之設定。
新建使用者具有下列特性:
(1) 每位使用者登入系統後,在終端機螢幕上會顯示單位名稱,以及歡迎詞(格式自行設計)。
(2) 接著,再顯示系統管理者的公告事項(管理者的佈告欄,內容格式自行設計)。
利用 Shell Script 編寫具有選單功能的程式。所增加入帳戶,登入系統後會顯示歡迎詞、帳戶名稱,登出時會顯示歡迎再來(格式自行設計)。
[oldk999 在 2013-5-4 01:18 AM 作了最後編輯]
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#2 : 2013-5-3 09:46 AM
只看本作者
送花
(9)
送出中...
2.
if [ $# = 0 ]; then
read -p "Source file name? " fn1
read -p "Destination file name? " fn2
elif [ $# = 1 ]; then
fn1=$1
read -p "Destination file name? " fn2
else
fn1=$1
fn2=$2
fi
if [ $fn1 = $fn2 ]; then
echo "nothing to do!"
exit
fi
if [ ! -f $fn1 ]; then
echo "file [" $fn1 "] not exist !"
exit
fi
if [ -f $fn2 ]; then
echo "file [" $fn2 "] exist"
read -p "overwrite (Y/n)? " confirm
if [ "$confirm" == "n" -o "$confirm" == "N" ]; then
echo "skip cpoy!"
exit
fi
fi
cp -f $fn1 $fn2
echo "copy done!"
[watchme 在 2013-5-3 10:11 AM 作了最後編輯]
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#3 : 2013-5-3 11:02 AM
只看本作者
送花
(9)
送出中...
4.
只目前目錄
echo "$(find -maxdepth 1 -type f | wc -l) files"
不限目錄層次(所有子目錄都要算)
echo "$(find -type f | wc -l) files"
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#4 : 2013-5-3 11:09 AM
只看本作者
送花
(9)
送出中...
5.
echo $(who | awk '{print $1}' | sort -u)
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#5 : 2013-5-3 01:29 PM
只看本作者
送花
(9)
送出中...
6.
#!/bin/sh
namelist=""
oldIFS=$IFS
IFS=$'\n'
for name in $(cat names)
do
if [ "" = "$namelist" ]; then
namelist=$name
else
namelist=$namelist:$name
fi
done
IFS=$oldIFS
echo $namelist
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#6 : 2013-5-3 02:14 PM
只看本作者
送花
(9)
送出中...
7.
#!/bin/sh
if [ $# = 1 ]; then
who | grep "^$1"
else
echo "syntax error"
fi
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#7 : 2013-5-3 02:30 PM
只看本作者
送花
(9)
送出中...
8.
#!/bin/sh
if [ $# = 1 ]; then
/bin/sh -c "echo ~$1"
else
echo "syntax error"
fi
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#8 : 2013-5-3 02:40 PM
只看本作者
送花
(9)
送出中...
9.
#!/bin/sh
if [ $# = 2 ]; then
echo "$1$2"
else
echo "syntax error"
fi
#########################################################33
10.
#!/bin/sh
if [ $# = 2 ]; then
cmd="echo $1 | sed 's/$2//g'"
/bin/sh -c "$cmd"
else
echo "syntax error"
fi
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
oldk999
鐵驢友〔高級〕
今日心情
. 積分:
79
. 文章:
138
. 收花: 498 支
. 送花: 195 支
. 比例: 0.39
. 在線: 2296 小時
. 瀏覽: 21561 頁
. 註冊:
7450
天
. 失蹤:
201
天
. 拉普達
#9 : 2013-5-3 09:52 PM
只看本作者
送花
(6)
送出中...
太感謝大大了~
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
watchme
銀驢友〔高級〕
無我
今日心情
. 積分:
926
. 文章:
2172
. 收花: 8002 支
. 送花: 3872 支
. 比例: 0.48
. 在線: 3516 小時
. 瀏覽: 31393 頁
. 註冊:
7450
天
. 失蹤:
0
天
. TWed2k-DVD幫
#10 : 2013-5-6 10:58 AM
只看本作者
送花
(1)
送出中...
14 題的 rm 可以多個參數變成 rm -rf xxx 確保資料夾被刪除
15 是整合前面的所有東西,比較龐大,恐怕沒辦法在編譯程式的空檔寫出來,不知道目前卡在哪裡?
主選單可以用迴圈跑 read 等使用者回應,各對話內容也是
新增使用者參考 useradd --help
刪除使用者參考 userdel --help
密碼相關參考 passwd --help
登入歡迎詞、公告(message of the day)放在 /etc/motd
登出顯示:我沒用過,可能要自己找看看!
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
oldk999
鐵驢友〔高級〕
今日心情
. 積分:
79
. 文章:
138
. 收花: 498 支
. 送花: 195 支
. 比例: 0.39
. 在線: 2296 小時
. 瀏覽: 21561 頁
. 註冊:
7450
天
. 失蹤:
201
天
. 拉普達
#11 : 2013-5-6 10:24 PM
只看本作者
送花
(0)
送出中...
目前卡在不知道要怎麼樣把函式及功能填進框架中
#!/bin/bash
# Variable
QUERY=/usr/bin/finger
AddUSER=
# Function
_Add(){
echo "Add $1 to Linux"
}
_Del(){
echo "Delete $1 from Linux"
}
# Main
while true;do
clear
echo ""
echo "+------------Menu--------------+"
echo "+ 1) Add Account +"
echo "+------------------------------+"
echo "+ 2) Remove Account +"
echo "+------------------------------+"
echo "+ 3) Query Account +"
echo "+------------------------------+"
echo "+ 4) Quit +"
echo "+------------------------------+"
echo ""
read -p "Enter number : " space
echo ""
case $space in
1)
# Add Account
echo "Add Account"
echo ""
read -p "Enter user name : " username
# handle single or multiple user
for user in ${username}
do
_Add ${user}
done
;;
2)
# Delete Account
echo "Delete Account"
echo ""
read -p "Enter user name : " username
# handle single or multiple user
for user in ${username}
do
_Del ${user}
done
;;
3)
# Query Account
echo "== Query Account =="
echo ""
read -p "Enter user name : " username
$QUERY $username
;;
4)
# Quit
echo "Good Byte !!"
break
;;
*)
# Invalid
echo "Invalid number !!"
;;
esac
echo ""
read -p "Enter any key to continue..... "
done
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
oldk999
鐵驢友〔高級〕
今日心情
. 積分:
79
. 文章:
138
. 收花: 498 支
. 送花: 195 支
. 比例: 0.39
. 在線: 2296 小時
. 瀏覽: 21561 頁
. 註冊:
7450
天
. 失蹤:
201
天
. 拉普達
#12 : 2013-5-17 12:48 AM
只看本作者
送花
(0)
送出中...
已處理完畢~感謝watchme大大的鼎力相助~
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接
快速回覆
送出中...
快速回覆
表情符號
更多 Smilies
字型大小 :
小
|
中
|
大
|
巨
[完成後可按 Ctrl+Enter 發佈]
溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別
關閉
表情符號
關閉
Discuz! 代碼
使用個人簽名
接收新回覆信件通知
發表時自動複製內容
[立即複製]
(IE only)
論壇跳轉 ...
所在時區為 GMT+8, 現在時間是 2024-11-22 04:09 AM
清除 Cookies
-
連絡我們
-
TWed2k
© 2001-2046
-
純文字版
-
說明
Discuz!
0.1
| Processed in 0.034461 second(s), 8 queries , Qzip disabled