Можно настроить ключи SSH и поместить открытый ключ в корень ~root/.ssh/authorized_keys2
файл на newserver
. Тем путем можно сделать весь процесс как корень.
Alternativly можно установить пароль корня через:
sudo passwd root
Но ключи SSH более безопасны и (по моему скромному мнению) более удобны.
Это означает использование $PIDFILE
если $PIDFILE
определяется, или /var/run/service.pid
если $PIDFILE
не определено.
Запуск с новой оболочки:
$ echo ${PIDFILE-/var/run/service.pid}
/var/run/service.pid
Теперь определите PIDFILE:
$ PIDFILE=/var/run/myprogram.pid
$ echo ${PIDFILE-/var/run/service.pid}
/var/run/myprogram.pid
Это - с былых времен Оболочки Bourne sh страница справочника.
${parameter-word}
If parameter is set then substitute its value;
otherwise substitute word.
Другая форма, которую Вы, возможно, уже видели, ${parameter:-word}
. Это подобно, но ведет себя по-другому если parameter
установлен на пустую строку.
${parameter:-word}
Use Default Values. If parameter is unset or null,
the expansion of word is substituted. Otherwise,
the value of parameter is substituted.
Продемонстрировать:
$ set | grep NOSUCHVAR # produces no output because NOSUCHVAR is not defined
$ echo ${NOSUCHVAR-default}
default
$ echo ${NOSUCHVAR:-default}
default
$ NULLVAR=
$ set | grep NULLVAR # produces output because NULLVAR is defined
NULLVAR=
$ echo ${NULLVAR-default}
$ echo ${NULLVAR:-default}
default
Отметьте как ${NULLVAR-default}
расширяется до пустой строки, потому что NULLVAR
определяется.
Для полного объяснения, выполненный "удар человека" и поиск Расширения Параметра путем ввода "/Расширения Параметра".
$ {слово параметра} укусил, скрыт в этом объяснении:
When not performing substring expansion, using the forms documented below,
bash tests for a parameter that is unset or null. Omitting the colon results
in a test only for a parameter that is unset.
Благодаря Dennis для исправления о наборе по сравнению с пустым указателем.