Использование переменных в одинарных кавычках, CSH

250
dusty

У меня есть короткий сценарий, предназначенный для обслуживания сервера, но я не могу понять, как правильно использовать переменные в моем сценарии. Вот пример кода, чтобы сделать его более понятным:

--members "fmcfsv05a:aggr1_fmcfs05n01a_L" "businessgroup=='MDO'&&project==' $i '&&qslot=='Martini'" 

В этом примере «$ i» - моя переменная, но результат все еще выдает:

--members "fmcfsv05a:aggr1_fmcfs05n01a_L" "businessgroup=='MDO'&&project==' $i '&&qslot=='Martini'" 

когда побежал с -v. Любые идеи о том, как заставить переменные в одинарных кавычках?

0
Рекомендация: используйте sh / ksh / bash для скриптов. Csh имеет несоответствия в разборе командной строки в разных точках, и это приводит к длительной и расстраивающей отладке mpez0 9 лет назад 3
Что @ mpez0 сказал. Я узнал, что долгий и расстраивающий путь. Jarmund 9 лет назад 0

1 ответ на вопрос

0
ckujau

Не вдаваясь в подробности, почему вы должны избегать CSH, здесь все прошло нормально:

$ cat test.csh  set i = "$ 1" / bin / echo --members "fmcfsv05a: aggr1_fmcfs05n01a_L" "businessgroup == 'MDO' && project == '$ i' && qslot == 'Мартини'"  $ csh test.csh foo --members fmcfsv05a: aggr1_fmcfs05n01a_L businessgroup == 'MDO' && project == 'foo' && qslot == 'Мартини'  $ dpkg-query -W csh csh 20110502-2.1