! $
- это слово-указатель раскрытия истории, оно расширяется до последнего слова предыдущей команды в истории . IOW, последнее слово предыдущей записи в истории. Это слово обычно является последним аргументом команды, но не в случае перенаправления. В:
echo "hello" > /tmp/a.txt
вся команда 'echo "hello"> /tmp/a.txt'
появилась в истории, и /tmp/a.txt
является последним словом этого команда.
_
- параметр оболочки, он расширяется до последнего аргумента предыдущей команды. Здесь перенаправление не является частью аргументов, передаваемых команде, поэтому только hello
является аргументом, переданным в echo
. Вот почему $ _
расширился до hello
.
_
больше не является одним из стандартных специальных параметров оболочки . Он работает в bash
, zsh
, mksh
и dash
только в интерактивном режиме, ksh93
только когда две команды на отдельных строках:
$ echo 1 && echo $_
1
/usr/bin/ksh
$ echo 1
1
$ echo $_
1
Связка ключей Gnome может хранить парольную фразу SSH и служить агентом SSH. Убедитесь, что вы используете gnome-keyring с компонентом ssh
; переменная окружения SSH_AUTH_SOCK
должна указывать на gnome-keyring, а не на ssh-agent. Брелок будет содержать ключ SSH, поэтому его не нужно повторно считывать из файла ключа в ~/.ssh
. Брелок является постоянным, поэтому добавление ключа к нему сохраняется после перезагрузки. Как только вы разблокируете связку ключей Gnome, все ее содержимое, включая ключ SSH, станет доступно для приложений.
Я согласен с @terdon, если компьютер помнит фразу-пароль, это эквивалентно отсутствию фразы-пароля.
Однако есть альтернативы. Настройте PAM для использования парольной фразы ssh вместо пароля для входа в систему. Таким образом, вам нужно ввести только один секрет, так удобнее.
Кроме того: настройте ssh для использования многораундового шифрования, чтобы расшифровка вашего ключа занимала около секунды, это сделает более короткий пароль более безопасным. Используйте хороший простой для ввода, легко запоминающийся, трудно угадываемый пароль.