我不理解這是如何不起作用:擊:變量文件路徑
ls /sys/class/net/wlan0
addr_assign_type broadcast device flags iflink netdev_group queues
subsystem uevent addr_len carrier dormant ifalias link_mode **operstate**
speed tx_queue_len address dev_id duplex ifindex mtu power statistics
for f in $(ls /sys/class/net/); do $(cat /sys/class/net/${f}/operstate); done
cat: /sys/class/net/eth0/operstate: No such file or directory
cat: /sys/class/net/lo/operstate: No such file or directory
cat: /sys/class/net/wlan0/operstate: No such file or directory
我猜$ F沒有及時擴大了cat
。我嘗試了引號,例如「$ f」,但仍然無效。
這樣確實OK:
for f in $(ls /sys/class/net/); do echo /sys/class/net/${f}/operstate; done
/sys/class/net/eth0/operstate
/sys/class/net/lo/operstate
/sys/class/net/wlan0/operstate
和:
cat /sys/class/net/eth0/operstate
up
有什麼我錯過了?爲什麼cat
看不到循環中的文件?
'echo'不關心它的參數是否存在於文件系統中。 –
在/ sys/class/net/wlan0/operstate上執行ls -l – Owen
到其他設備(硬件名稱)的文件鏈接,但是'cat'確實有效? – Edouard