我正在處理提示用戶輸入用戶名的腳本。一旦輸入,腳本使用'rwho'命令獲取登錄到網絡的用戶列表。它應該將他們輸入的文本(他們的用戶名)與rwho命令的結果進行覈對。如何在變量內搜索某段文本?
如果找到匹配項,則會顯示一條消息,如果沒有,則也會讓用戶意識到這一點。
這裏是腳本,到目前爲止,我嘗試:
#!/bin/sh
#
# User network checking script
#
# Using rwho command to get user list
OUTPUT="$(rwho)"
echo "${OUTPUT}"
# Prompt for username
echo "Please enter your username: "
read username
# Input validation
if [ -z "$username"]
then
echo "No username supplied"
echo "Please enter your username: "
read username
fi
# Search for user
if `echo ${OUTPUT} | grep "${username}" 1>/dev/null 2>&1'
then
echo "$username is logged in."
else
echo "$username is not present."
fi
我始終與搜索用戶部分出現錯誤。我沒有Linux的傑出知識,所以如果有人能解決這個問題並幫助我,我會非常感激。
你會得到「錯誤」嗎?也許你應該把它們展示給我們?還要檢查你在'grep'管道上缺少結束'\''的語法。也可以使用http://www.shellcheck.net/獲取有關代碼的一般有用建議。 –