Ho problemi a fare qualcosa di base con csh. Ho una stringa:Csh che aggiunge stringhe a un array, problemi di spazio vuoto
set newCmd = "$expansionCmd –option1 –option2 …"
E Sto creando una matrice di queste stringhe, che in seguito desidera eseguire:
set expansionCmdList = ($expansionCmdList[*] "$newCmd")
#I also tried without quotes, e.g. just $newCmd
Infine cerco di iterare ed eseguire questi comandi:
Tuttavia, il problema è che le voci dell'array non sono la stringa intera, ma ogni parte della stringa è separata da spazi, ovvero la prima voce è solo "$ expansionCmd", la voce successiva sarebbe b e "-opzione1" ecc.
Mi scuso in anticipo per l'utilizzo di c shell, il codice base della mia azienda è bloccato con esso.
grazie uomo ... Giuro l'unica documentazione che posso trovare su C shell è persone che dicono di non usare c shell. – JDS
Bene, l'unica ragione significativa rimanente per non usare csh per lo scripting è che csh non è un ottimo linguaggio di scripting ... a causa di cose come il fatto che devi trasformare gli alias in nodi per avere qualsiasi tipo di capacità di sottoprogramma . Ma se è quello che hai, è quello che hai. E aveva array e aritmetica incorporata molto prima delle shell POSIX. :) –
Si noti che l'uso di '$ {array}: q' non funzionerà - deve essere' $ arr: q'. –