![이 스크립트가 실패하면 파일을 삭제합니까?](https://linux55.com/image/173720/%EC%9D%B4%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EA%B0%80%20%EC%8B%A4%ED%8C%A8%ED%95%98%EB%A9%B4%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
root
특정 조건에서 다음 스크립트가 실행되는 것으로 의심됩니다 /etc/hostapd.conf
.
#!/bin/bash
CONFIG_FILE=/etc/hostapd.conf
read mac_addr < /sys/class/net/wlan0/address
mac_addr_no_colon=`echo $mac_addr | tr -d ":"`
mid_mac_addr=${mac_addr_no_colon:6}
new_ssid=Mark_$mid_mac_addr
sed "s/^ssid=.*/ssid=$new_ssid/" "$CONFIG_FILE" > /tmp/temp.x
mv /tmp/temp.x "$CONFIG_FILE"
이 스크립트를 수백 번 실행해도 다른 사람들은 /etc/hostapd.conf
자신의 시스템에서 이 스크립트를 찾을 수 없다고 보고하며, 내가 작성한 스크립트 중 액세스할 수 있는 유일한 스크립트입니다 /etc/hostapd.conf
.
이 동작을 일으킬 수 있는 이 접근 방식에 문제가 있습니까?
고쳐 쓰다
제안한 대로 스크립트를 다음과 같이 변경했습니다.
#!/bin/bash
CONFIG_FILE=/etc/hostapd.conf
mac_addr_no_colon="$(tr -d ':' < /sys/class/net/wlan0/address)"
mid_mac_addr=${mac_addr_no_colon:6}
new_ssid=Mark_$mid_mac_addr
sed -i "s/^ssid=.*/ssid=$new_ssid/" "$CONFIG_FILE"