これがどのように機能しないのか理解できません:
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」などの引用符を使用してみましたが、それでもうまくいきませんでした。
これはうまくいきます:
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
ループ内のファイルが表示されないのはなぜですか?