我有一个运行CoreELEC(类似于LibreELEC的Linux发行版)的电视盒,我想找到其IP地址,然后使用SSH登录。
我知道以太网接口和Wifi接口的MAC地址。
假设我不知道电视盒当前使用哪个接口连接到LAN,我想在我的LAN(以太网或Wifi)中找到电视盒的IP地址。
以下目标列表不起作用,因为它在评估“ OR”时失败:
TVBOX_IP="" find-tvbox-eth-ip: @echo Checking the Ethernet IP address... $(eval TVBOX_ETH_IP=$(shell sudo arp-scan 192.168.0.1/24 2>&1 | grep $(TV_ETH_MAC) | awk '{print $$1}')) @echo Found an Ethernet IP address: "$(TVBOX_ETH_IP)" find-tvbox-wifi-ip: @echo Checking the Wifi IP address... $(eval TVBOX_WIFI_IP=$(shell sudo arp-scan 192.168.0.1/24 2>&1 | grep $(TV_WLAN_MAC) | awk '{print $$1}')) @echo Found a Wifi IP address: "$(TVBOX_WIFI_IP)" find-tvbox-ip: find-tvbox-eth-ip find-tvbox-wifi-ip @[ "$(TVBOX_ETH_IP)" ] && TVBOX_IP:=$(TVBOX_ETH_IP) || ( echo TVBOX_IP:=$(TVBOX_WIFI_IP) ) @echo "Stored this IP for the TV BOX: " $(TVBOX_IP)
包含
TVBOX_IP := $(or $(TVBOX_ETH_IP),$(TVBOX_WIFI_IP))
的类似目标也无法正常工作。
$(TVBOX_IP)
?我有一个运行CoreELEC(类似于LibreELEC的Linux发行版)的电视盒,我想找到其IP地址,然后使用SSH登录。我知道两个以太网接口的MAC地址...
有时,将逻辑转移到外部命令更容易。进行声明式方法有时很难控制: