我使用的情況下循環,讓我再按下1
接受$fn3
值,按2
在$fn4
接受該值或按3
輸入我自己值。
這些被用在查找語句中。如果我按3
並輸入文件名的一部分,$search1
可正確輸入我輸入的數據,並且一切正常。如果我按任何1
或2
變量$search
呼應要麼$fn3
或$fn4
的正確值,但是當我分配search1
與*$search*
,echo search1
現持有我當前文件夾中的文件列表,而不是$fn3
或$fn4
山谷。
$search1
變量正在稍後在腳本中用於查找命令。什麼導致文件出現在變量中?
case $ans in
1) search=$fn3;;
2) search=$fn4;;
3) read search;;
q*|Q*) quit 0;;
*) echo "please enter a number between 1 and 3";;
esac
echo $search #use to see what variable search holds
# $search hold part of the file name im going to search for,i add * for searching for anything which has the search vale in its name.
search1=*$search*
echo $search1 #use to see what variable search1
不確定你要做什麼,但如果你引用:'search1 ='* $ search *''你的問題就會消失。 '*'正在被shell擴展到工作目錄中的所有文件。 – arco444 2015-03-31 11:37:02
根據你如何使用'case'選擇答案,你可能想看看'select'語句:'select name [in word];做清單;做完了' – 2015-03-31 14:52:07