Почему `выводит bash | bash `немедленно выйти?

Если это еще кому-то пригодится, вот основная идея:

Создайте исполняемый скрипт с именем mount.afuseи поместите его в/usr/bin/mount.afuse

su -l $( ls -dl "$2" | cut -d' ' -f3) -c "afuse -o mount_template='sshfs -o reconnect -o auto_cache -o kernel_cache %r:/ %m' -o unmount_template='fusermount -u -z %m' -o auto_unmount '$2'"

Включите строку в свой/etc/fstab

afuse# /mnt/afuse afuse auto 0 0

Чтобы проверить, все ли работает, вы должны сначала выполнить скрипт mount.afuse.

Источник:https://gist.github.com/Hubbitus/c40d986921cbed6a8ad585eee00a7d77

3
05.10.2020, 08:27
1 ответ

Второй экземпляр bash действительно ожидает ввода на своем стандартном вводе (, который является тем же каналом, из которого строка bashбыла прочитана ), но он получает EOF только тогда, когда echoпроцесс завершился, и конец канала для записи был закрыт.

Вы могли бы также внести свой вклад во второй удар:

(echo bash; echo echo hjello) | bash
hjello
7
18.03.2021, 22:59

Теги

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