이 스크립트가 실패하면 파일을 삭제합니까?

이 스크립트가 실패하면 파일을 삭제합니까?

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"

관련 정보