Vì vậy, tôi cần kiểm tra xem tên người dùng có nằm trong/etc/passwd chứa tất cả người dùng trong lớp của tôi không, nhưng tôi đã thử một vài kết hợp khác nhau nếu câu lệnh và grep không thành công. Điều tốt nhất tôi có thể đưa ra là dưới đây, nhưng tôi không nghĩ rằng nó hoạt động đúng. Logic của tôi đằng sau nó là nếu grep là null, người dùng không hợp lệ.Làm thế nào để kiểm tra xem grep không có đầu ra?
send_email()
{
message=
address=
attachment=
validuser=1
until [ "$validuser" = "0" ]
do
echo "Enter the email address: "
read address
if [ -z grep $address /etc/passwd ]
then
validuser=0
else
validuser=1
fi
echo -n "Enter the subject of the message: "
read message
echo ""
echo "Enter the file you want to attach: "
read attachment
mail -s "$message" "$address"<"$attachment"
done
press_enter
}
này nếu bạn không muốn giữ lại kết quả – RousseauAlexandre
Làm thế nào điều này có thể được kết hợp với một bài kiểm tra giá trị biến lớn hơn 0? một cái gì đó như 'nếu grep -q $ địa chỉ/etc/passwd && $ val> 0' –