Анализ хитрого лайнеры и наличие удобного списка полезных

Проблема не связана с аутентификацией с открытым ключом, которую Вы настроили. Помимо Ваших закрытых и открытых ключей, SSH также сохранит ключ хоста каждого хоста, с которым Вы соединяетесь в Вашем ~/.ssh каталог под файлом, названным known_hosts. Ошибки, которые Вы видите, от попыток SSH первоначально создать этот файл.

2
25.09.2013, 13:38
3 ответа

Читать man bash, и введите /Parameter Expansion (точно как это, с ведущей наклонной чертой). Это будет искать соответствующий раздел из той страницы справочника; возможные модификаторы расширения объяснены там.

3
27.01.2020, 21:50
  • 1
    Это хорошо. Это ответило на мой вопрос: $ {parameter:-слово} Значения по умолчанию Использования. Если параметр сброшен или пустой указатель, расширением слова заменяют. Иначе значением параметра заменяют. –  user1587504 25.09.2013, 15:58

В дополнение к другому прекрасному ответу относительно консалтинга с документацией я всегда обращаюсь к средству отладки Bash для наблюдения то, что продолжается.

Можно включить его и отключить его путем обертывания команд интереса к блоку как так:

$ set -x; command_to_watch; set +x

Пример

$ set -x; export JDK_HOME=${JDK_HOME:-"/some/path/java-1.7"}; set +x
+ export JDK_HOME=/some/path/java-1.7
+ JDK_HOME=/some/path/java-1.7
+ set +x

Здесь Вы видите что переменная $JDK_HOME устанавливается на /some/path/java-1.7. Однако, если мы устанавливаем его на что-то еще:

$ export JDK_HOME=/a/path
$ echo $JDK_HOME
/a/path

И выполненный эта команда снова:

$ set -x; export JDK_HOME=${JDK_HOME:-"/some/path/java-1.7"}; set +x
+ export JDK_HOME=/a/path
+ JDK_HOME=/a/path
+ set +x

Мы видим, что это ничего не сделало, ведя нас к тому, что, если переменная уже установлена, эта команда оставит ее в покое, иначе это установит его со значением, /some/path/java-1.7.

Подтверждение нашего подозрения в странице справочника Bash:

${parameter:-word}
      Use Default Values.  If parameter is unset or null, the expansion of word
      is substituted.  Otherwise, the value of parameter is substituted.
4
27.01.2020, 21:50

Теги

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