我很好奇,是否可以用比這更簡潔的方式編寫一個shell腳本以從選項列表中選擇最佳可用選項?使用BASH選擇最佳可用選項
d="least wanted directory"
dt="possible directory" && [ -d $dt ] && d=$dt
dt="preferred directory" && [ -d $dt ] && d=$dt
我很好奇,是否可以用比這更簡潔的方式編寫一個shell腳本以從選項列表中選擇最佳可用選項?使用BASH選擇最佳可用選項
d="least wanted directory"
dt="possible directory" && [ -d $dt ] && d=$dt
dt="preferred directory" && [ -d $dt ] && d=$dt
可讀的版本(高效感謝@CodeGnome):
dirs=("preferred directory" "possible directory" "least wanted directory")
for test_dir in "${dirs[@]}"
do
if [ -d "$test_dir" ]
then
dir="$test_dir"
break
fi
done
echo "$dir"
哦,有人在這裏經常可以想出巧妙的額外的東西,讓我們拭目以待那是什麼。不過,我認爲你的方式很整潔。 – thb 2012-04-29 11:03:33
我也可以做一個循環:'對於dt最不想要的「可能首選;做[-d $ dt] && d = $ dt;完成' – vibrog 2012-04-29 11:46:38
或'dt爲最佳可能「最不想要的」;做[-d $ dt] && d = $ dt && break;完成' – vibrog 2012-04-29 12:17:45