Каждый раз, когда я перезапускаю свой сервер Digital Ocean, .ssh/authorized_keys меняется

Пока игнорируем тот факт, что существуют инструменты, созданные именно для этой цели.

char_src=$1
char_dest=$2
shift

Вы, вероятно, хотите shift 2 здесь, простой shift переместит $2 в $1 и оставит вас с тем, что там было первое имя файла.

    while read -r line

Вы правильно используете read -r, но обратите внимание, что по умолчанию IFS read удалит начальные и конечные пробелы.

    done < "$file"

перенаправляет только вход, чтобы перенаправить и вывод, вам потребуется > "$file2", и, как отмечалось во многих местах ( напримерздесь ), перенаправление на тот же файл просто усекает его перед чтением чего-либо.

Об инструментах, созданных для этого, чтобы изменить одиночные символы на другие одиночные символы, используйте tr. Конструкция оболочки ${var//pat/repl} заменяет целые строки и больше похожа на s/pat/repl/g в sed.

0
25.04.2016, 06:33
0 ответов

Теги

Похожие вопросы