Альтернативный IP-адрес маски подсети ifconfig

Я считаю, что сложная часть этого вопроса состоит не в том, "как я могу найти возврат каретки в файле?" но «как я могу узнать, какие файлы использует мой bashrc?»

Что касается второго вопроса, вы можете попробовать что-то вроде этого:

bash -x.bashrc

Это покажет вам все, что делает ваш bashrc, включая все файлы, на которые он ссылается. Это шумно, но должно помочь вам отследить, какие файлы используются.

За исключением того, что мои (и многие другие).bashrcфайлы закрываются раньше, если они не запускаются в интерактивном режиме, поэтому вам нужно обмануть его, чтобы пройти эту проверку:

bash -ix.bashrc

Здесь -iвключает интерактивный режим.

Чтобы выделить только те случаи, когда вы исходите из файла, что-то вроде этого работает для меня, но я не могу обещать, что регулярное выражение поймает все:

bash -ix.bashrc 2> >(grep -E '^\+* (\.|source)')

Думаю, вам также могут понадобиться сообщения об ошибках, например:

bash -ix.bashrc 2> >(grep -E -e '^\+* (\.|source)' -e 'command not found')

Если по какой-то причине ничего из этого не сработало, я бы прибегнул к strace -e open bashили что-то в этом роде, чтобы найти каждый раз, когда какой-либо файл открывается вашим сеансом bash. Но это еще более тяжелое/шумное решение.

-1
26.06.2020, 16:54
3 ответа

ip addr add 192.168.0.1/20 dev eth0

По-прежнему требуется указывать IP-адрес хоста, так что прямой альтернативы нет.

0
18.03.2021, 23:23

Сначала убедитесь, что у вас есть нужное устройство:

ip a show

Оттуда вы можете просто установить ipи маску :

.
sudo ip a add 192.168.0.1/255.255.240.0 dev eth0
2
18.03.2021, 23:23

Концепция установки сетевой маски без IP-адреса является странной. Утилита ifconfig, по-видимому, была написана для предположения, что будет только один IP-адрес. Интерфейсы могут иметь много IP-адресов, и сетевая маска всегда связана с IP-адресом.

В вашем вопросе не указано, имеет ли интерфейс уже IP-адрес. Но «эквивалент» — добавить IP-адрес с требуемой сетевой маской :

.
ip addr add 10.10.10.20/20 dev eth0

Если IP-адрес уже существует, вам может потребоваться сначала удалить его с помощью ip addr del.... Например, если IP-адрес, который вы хотите установить, уже имеет сетевую маску 255.255.255.0:

ip addr del 10.10.10.20/24 dev eth0
ip addr add 10.10.10.20/20 dev eth0
3
18.03.2021, 23:23

Теги

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