Ksh script: Esegui bash-come carattere sostitutivo: ${@/.txt/}
Domanda
Ho uno script ksh che deve rimanere tale (alcuni dei programmi che gira insistono di essere ksh). Voglio prendere l'argomento di input "test.txt" e rimuovere gli ultimi 4 caratteri o trovare e sostituire il ".txt" con niente.
In bash avrei fatto
NewVar=${@/.txt/}
Questo non funziona in ksh però. Come posso liberarmi della .txt in ksh? Ho cercato
bash -c 'NewVar=${@/.txt/}'
, ma non ha funzionato la variabile $ @ in questo guscio appena creato.
Grazie,
Dan
Soluzione
Perché non usare basename ?
Altri suggerimenti
ksh non ti consente di farlo con $ @, ma se si assegna a una variabile temporanea, lo si può fare senza la deposizione delle uova un altro proc con
tmp=$@
newvar=${tmp%.txt}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow