~ / .bashrc не авторизован в 12.04 lts

Я начал бы его при загрузке и давал ему подождать, пока не будет подключен wlan0. Вы можете проверить это с помощью

#!/bin/bash

while true; do
    # testing...
    LC_ALL=C nmcli -t -f DEVICE,STATE dev | grep -q "^wlan0:connected$"
    if [ $? -eq 0 ]; then
        break
    else
        # not connected, sleeping for a second
        sleep 1
    fi
done

# now connected, run the script
1
задан 23 May 2017 в 15:39

1 ответ

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

Для оболочки без входа:

$ bash -v 2>&1 | less

Для оболочки входа:

[ f2]

У меня нет системы 12.04, чтобы подтвердить, что .bashrc выполняется при использовании оболочки входа. Я совершенно уверен, что так оно и есть. Если это не так, я бы предположил, что вы или что-то еще вызываете bash от вашего имени, не указывают оболочку входа. Примером этого является удаленное выполнение команды через ssh.

ssh, чтобы получить оболочку, порождает оболочку входа

$ ssh remotehost

ssh для вызова удаленной команды, не порождает оболочку входа

$ ssh remotehost remotecommand

Также см. параметр bash man -norc, в котором упоминается, что этот параметр включен по умолчанию, если bash вызывается как sh. Это было важно, но, тем не менее, теперь, когда ubuntu перешел в тире для sh вместо bash.

0
ответ дан 25 May 2018 в 01:06

Другие вопросы по тегам:

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