Use um delimitador diferente, por exemplo:
perl -i -pe "s|$A|$B|" $CLOCK
Veja a página do manual perlre .
Eu quero substituir a string America / Adak por America / Jamaica por:
perl -i -pe "s/$A/$B/" /etc/sysconfig/clock
por favor, avise o que precisa atualizar na sintaxe do perl? (o problema é que eu tenho "/" então precisa ignorar esse caractere uniq, o que precisa adicionar à minha sintaxe perl?
A="America/Adak"
B="America/Jamaica"
CLOCK=/etc/sysconfig/clock
perl -i -pe "s/$A/$B/" $CLOCK
Bareword found where operator expected at -e line 1, near "s/America/Adak/America"
syntax error at -e line 1, near "s/America/Adak/America"
Execution of -e aborted due to compilation errors.
more $CLOCK
# The ZONE parameter is only evaluated by system-config-date.
# The timezone of the system is defined by the contents of /etc/localtime.
ZONE="America/Adak"
UTC=true
ARC=false
Use um delimitador diferente, por exemplo:
perl -i -pe "s|$A|$B|" $CLOCK
Veja a página do manual perlre .
Tags perl