-1
我從來沒有使用過bash,但我試圖理解這段代碼。該腳本應該顯示所有登錄名,全名和用戶ID。但是,每當我運行時,我都無法越過第一條if語句,如果我刪除了該語句,則不起作用。Bash - 沒有足夠的參數
#!/bin/bash
if [ $# -lt 1 ];
then
printf "Not enough arguments - %d\n" $#
exit 0
fi
typeset user=""
typeset name=""
typeset passwdEntry=""
while [ $# -ge 1 ];
do
user=$1
shift
name=""
passwdEntry=`grep -e ^$user /etc/passwd 2>/dev/null`
if [ $? -eq 0 ]; then
name=`echo $passwdEntry|awk -F ':' '{print $5}'`
fi
echo "$user $name"
done
那麼,腳本至少需要一個參數。 – Biffen
它檢查參數的數量,如果沒有參數,它將退出。你是如何運行腳本的? –
我不知道它是否重要,但第一個半列';'不是必需的。它受傷了嗎? – Djee