Ho una stringa nel mio script di shell, che è in un formato fisso: '[STATUS REPORT] PROJECT'. Quando l'utente esegue il mio script di shell, gli verrà chiesto di fornire un valore per 'PROJECT'.
Vorrei sostituire la parola 'PROJECT'con l'utente fornire valore. Ad esempio, se l' 'ABCD'utente ha inserito l'input:
"[RAPPORTO DI STATO] ABCD"
Ho due problemi: 1: Come affrontare personaggi speciali come "&" nel nome di un progetto? Ad esempio:
echo "[STATUS REPORT] PROJECT" | awk '{ gsub(/PROJECT/, "A&A"); print }'
e ottengo il seguente output:
[RAPPORTO DI STATO] APROJECTA
2: La mia attuale istruzione shell è simile alla seguente:
echo "[STATUS REPORT] PROJECT" | awk '{ gsub(/PROJECT/, $ProjectName); print }'
dove $ ProjectName memorizza il nome del progetto fornito dall'utente. Ma questo non sembra funzionare
Come posso farlo funzionare correttamente?
&è un carattere speciale nelle espressioni regolari" -&è speciale nella stringa di sostituzione dei comandisubegsub.