このスクリプトが失敗した場合はファイルを削除しますか?

このスクリプトが失敗した場合はファイルを削除しますか?

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"

ベストアンサー1

おすすめ記事