Почему этот сценарий bash завершает вызывающий процесс, когда он завершается?

  1. Отключите подключение к сети Ethernet
  2. Убедитесь, что соединение Wi-Fi активировано
  3. Выполните следующие команды, заменив myeth0 на ваше устройство Ethernet, mywifi0 на ваше устройство Wi-Fi, MYSSID на вашу сеть Wi-Fi и MYWIFIPASSWORD на ваш пароль Wi-Fi:
nmcli con add type bond con-name bond ifname bond0 mode active-backup primary myeth0 +bond.options "fail_over_mac=active,miimon=100,primary_reselect=always,updelay=200"
nmcli con add type wifi con-name bond-wlan slave-type bond master bond0 ifname mywifi0 ssid MYSSID
nmcli c modify bond-wlan wifi-sec.key-mgmt wpa-psk wifi-sec.psk MYWIFIPASSWORD
nmcli con add type ethernet con-name bond-eth slave-type bond master bond0 ifname myeth0
nmcli c up bond
  1. Вам также может потребоваться сделать следующее, если они не запускаются автоматически:
nmcli c up bond-eth
nmcli c up bond-wifi
0
23.08.2019, 15:56
2 ответа

Я вижу, что это происходит, если скрипт запускается с Bash 4.3.30, но не с Bash 4.4.12. (Версия оболочки, в которой запущен скрипт, похоже, не имеет большого значения.)

Я больше не делил это пополам, но в журнале изменений есть вот это, похоже, что это применимо:

This document details the changes between this version, bash-4.4-rc1, and
the previous version, bash-4.4-beta.

i.  Fixed a bug that caused background processes run from non-interactive shells
    with job control enabled to place the terminal in the wrong process group
    under certain circumstances.
1
28.01.2020, 02:29

От человека:

-m Monitor mode.

Job control is enabled. This option is on by default for interactive shells on systems that support it (see JOB CONTROL above). Background processes run in a separate process group and a line containing their exit status is printed upon their completion.

из защищенного журнала:

Received disconnect from X.X.X.X: 0

Кажется, если мы установим значение -m, статус выхода будет распечатан в текущей оболочке после завершения фонового процесса, который равен exit 0. Способен засвидетельствовать в securelog.

1
28.01.2020, 02:29

Теги

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