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

È stato utile?

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
scroll top