我想將我的shell腳本轉換爲使用datadriven方法。但是由於在任何shell中都沒有「表格」類型的值(我知道),有什麼建議替代方法來做到這一點?Datadriven shell編程?建議,請
我正在尋找的是解決方案,將允許人們做這樣的事情:
animals = [['horse', 300 'brown'],
['cat', 3, 'black'],
['elephant', 3000, 'grey'],
['mouse', 0.3, 'grey']]
for a in animals ; do
echo "A typical $a[1] is $a[3] and weighs about $a[2] kilograms."
done
更確切地說,我想嘗試一些命令,看看其中的一個是可用的,然後發送參數:
commands = [['c1', '-m', '-i'],
['c2', '-message', '-icon'],
['c3', '/m', '/i']]
for c in commands ; do
if exists c[1] ; then
command = c[1]
message_option = c[2]
icon_option = c[3]
break;
fi
done
$command $message_option "message" $icon_option icon
爲什麼不把你的'表'數據放到一個文件中,然後用'awk'或類似的程序讀取它呢? – VM17
你正在使用哪個外殼? 'bash','ksh'或'zsh'? – Inian
我正在考慮'python',但是因爲可移植性問題而決定不使用它。所以我的做法是'bash'。該腳本需要做很多其他的事情,但是探索與'awk'結合會很有趣,因爲它也可以「隨處可見」。那麼一個shell腳本如何調用'awk'來做這個例子(我將更新它以更精確地指出我需要做什麼)? – thoni56