Это происходит из-за использования [119559]> /dev/null 2>&1[119560] перенаправит весь вывод команды (как [119561]stdout[119562], так и [119563]stderr[119564]) на [119565]/dev/null[119566], что означает, что на терминал не выводятся никакие выводы. По умолчанию:
По умолчанию:
В скрипте используется [119567]> /dev/null[119568], что вызывает:
А затем [119569]2>&1[119570], что вызывает:
Я не рекомендую вам SSH-Add (что нужно открыть SSH-Agent) при входе в систему. Это связано с тем, что вы не можете управлять, когда секция SSH-Agent заканчивается, и может создать риск безопасности, когда вам не нужно использовать ключевые файлы в одном разделе входа в систему.
Скорее, я рекомендую написать скрипт, который открывает SSH-Agent Section Sector Shell, со всеми добавленными файлами KeyFiles Auto, и их можно вызвать при использовании SSH. Если бы вы могли принять так, читать дальше.
У вас будет два варианта:
Удалите все паросы для ваших ключей, которые имеют слабую безопасность , если ваши ключевые файлы будут украдены. (Таким образом, не рекомендуется )
Используйте ту же пароль для ваших ключей. Тогда, когда вы SSH-Add Keyfile1 KeyFile2 ...
, вам нужно только один раз ввести пароль один раз, на раздел.
В обоих случаях вы можете написать такой файл сценария «SSH_KEYS_SECTION.SH», как показано ниже:
#!/bin/bash
# This script run a ssh-agent on a sub-shell and automatically ssh-add all keyfiles at once.
# This agent ends when you type `exit` to close the sub-shell.
exec ssh-agent bash -c "ssh-add /path/to/keyfile1 /path/to/keyfile2 ...; exec bash"
Примечания:
SSH-Keygen-P-P-FF SSHFILE
/ Путь / к / yourTerminal, &
(зависит от ОС) Для ограничения замены до части файла вплоть до и включая первый экземпляр сопоставления, вы можете добавить команду замены с диапазоном формы 1, \ # Pattern #
IE
busybox sed '1,\#</verse-sub-section># s#</verse-sub-section>#</section>#' file
Обратите внимание на использование выхода на обратную косание перед альтернативным разделителем \ #
, за исключением случаев, когда он вводится командой S
.
Обратите внимание, что это не будет желаемого поведения, если в первой строке происходит матч; GNU SED поддерживает диапазон формы 0, \ # Шаблон #
для обработки этой ситуации, но BusyBox SED - по крайней мере, версия, которую я могу проверить, Busybox v1.22.1 (Ubuntu 1: 1.22.0-8ubuntu1)
- не кажется.
Ваш вопрос неоднозначен. Если вы хотите найти очень первый экземпляр
из Verse-sub-разрез>
во всем файле и замените его раздел>
,
Затем посмотрите другой ответ (ы). Моя интерпретация заключается в том, что, учитывая вход
1 <section>Genesis</verse-sub-section>
2 <verse-sub-section>In the beginning, God ...</verse-sub-section>
3 <section>Psalm of David</verse-sub-section>
4 <verse-sub-section>David Weeps</verse-sub-section>
, вы хотите заменить Verse-Sub-Section>
с раздел>
на линиях 1 и 3.
Если это твой вопрос, ответ
sed -i 's#\(<section>.*\)</verse-sub-section>#\1</section>#' file
положить <раздел>
в поле / старый / /
Команда гарантирует, что будут обработаны только линии, содержащие <Раздел>
.
\ (... \)
разграничивает часть линии: часть, начиная с <Раздел>
и идти до (но не включая) Verse-sub-раздел>
.
И \ 1
\ 1
в поле новых поля приводит к тому, что идентифицированная подстрока соответствующей строки
Чтобы быть вставленным в файл - то есть, осталось нетронутым.
По крайней мере, так работает в нормальных версиях * NIX. Android не должен быть другим, но я не могу гарантировать, что он будет работать в Bitebox.