if [! -d папка]
часть неверна. Он ложен как для пустых, так и для непустых каталогов. Восклицательный знак - это логический оператор «не»: вы проверяете, не существует ли каталог перед его удалением.
Уберите этот восклицательный знак.
В каталоге /proc
вы также можете найти адреса IPv4 в таблице Forwarding Information Base, в/proc/net/fib_trie
Таблица довольно понятна, если сделать просто cat
, сначала идет Main:
, а затемLocal:
cat /proc/net/fib_trie
или чтобы увидеть вашу сеть, IP-адреса и сетевую маску:
cat /proc/net/fib_trie | grep "|--" | egrep -v "0.0.0.0| 127."
|-- 193.136.1.0
|-- 193.136.1.2
|-- 193.136.1.255
|-- 193.136.1.0
|-- 193.136.1.2
|-- 193.136.1.255
Возможно связать сетевые адреса из /proc/net/fib_trie
с интерфейсами из/proc/net/route
:
$ awk '/^[^I]/ {print $1 " " $2}' /proc/net/route
br0 0001020A
br0 FE01020A
..и преобразовать шестнадцатеричные сетевые адреса с помощью:
$ echo FE01020A | xxd -r -p | hexdump -e '/1 "%u."' | tac -s'.' | sed 's/\.$//'
10.2.1.254