Используйте []]
для представления ]
в регулярном выражении. Используйте @
в качестве разделителя выражения sed, поскольку в вашей замещающей строке есть /
.
sed -e "s@[]]@${key}${newnum}@" ${list}
Вы также можете использовать обратную косую черту:
sed -e "s@\]@${key}${newnum}@" ${list}
Поскольку известно, что ]
находится в конце строки, вы также можете изменить последний символ независимо от того, что это такое:
sed -e "s@.\$@${key}${newnum}@" ${list}
Решено благодаря @MarkPlotnick! команда logger делает то, что мне нужно, не нужно chmod или что-то в этом роде.
alias Insys='logger =================== Setting chat and Options for Insys ; cp /var/config/tw_con_Insys.lge /var/config/tw_con.lge; cp /etc/ppp/peers/tw_options_Insys /etc/ppp/peers/tw_options; con; logger =================== Complete; setup '
alias setup='logger =================== options ===================; cat /etc/ppp/options | logger; logger =================== chat ===================; cat /var/config/tw_con.lge | logger; logger ============================================'