你好,我目前正在嘗試在shell腳本中做一個if語句來檢測用戶是否沒有輸入任何文本。bash if語句檢測空白文本
我想如果用戶沒有輸入任何信息,或者他們輸入的內容無效,只有輸入正確的內容才能回顯並提醒。
這裏是我迄今爲止
echo "Current Address books "
ls -R |grep .txt
echo "--------------------------------------------------------------------"
echo -n "Please Enter the file you want to search in: "
read fileName
book=$fileName
if [ $fileName == "" ]
then
echo "Please Enter some Text "
else
echo -n "Please Enter a name: "
read search
grep -i $search $fileName
if grep -q "$search" "$fileName";
then
echo "Found!"
else
echo "Not Found!"
fi
fi
你能解釋一下'printf'%s \ n「」${@#./}「'對我有什麼影響嗎? – user258030
@ user258030如果沒有這個,'find'的輸出在每個文件名前都會有'。/'前導。代碼片段「${@#.//」「'擴展爲所有位置參數,前導'。/'被刪除。因此''printf'%s \ n「」${@#./}「每行打印一個位置參數,並刪除前面的'。/'。 –
謝謝你是一個複雜而完美的解決方案,我需要什麼 – user258030