2014-01-03 2 views
0

Я хотел бы выполнить следующую команду:Выполнить команду, хранящуюся в переменной в рыбьем оболочке

for i in git python gcc java pip 
    $i --version     
end        

Но рыба говорит мне, чтобы использовать функцию. Я не уверен, что лучший способ сделать это.

+1

Там хороший ответ здесь: http://stackoverflow.com/a/3282733/7552 –

ответ

3

Команда eval работает для этого, но будет ли функция более подходящей, поскольку рыба предлагает?

for i in git python gcc java pip 
    eval $i --version     
end 
+0

AFAIK с помощью 'eval' это единственный способ сделать то, что вы хотите в Рыбе. Я не знаю, как «eval» работает за кулисами, но при использовании 'eval' я испытал более медленную, чем обычно, производительность. Я стараюсь избегать его в настоящее время, кроме случаев, когда вы испытываете логические значения «true» или «false». –

+0

@JorgeBucaran вы открыли вопрос по этому поводу? – kzh

Смежные вопросы