Entfernen Sie führende Nullen, bevor Sie eine Shell-Variable an einen anderen Befehl übergeben
Es stellt sich heraus, dass iptables mit führenden Nullen nicht so gut umgehen kann. Wie$machinenumber
Die verwendete Variable muss für andere Zwecke eine führende Null enthalten. Die Idee ist lediglich, eine neue Variable zu erstellen ($nozero
) beyogen auf$machinenumber
, wobei führende Nullen entfernt werden.
$machinenumber
ist eine zweistellige Zahl zwischen 01 und 24. Derzeit ist es 09
$machinetype
ist jetzt 74 und hat bisher keine Probleme verursacht.
Was ich bisher habe ist:
nozero = (echo $machinenumber | sed 's/^0*//')
iptables -t nat -I POSTROUTING -s 10.($machinetype).($nozero).0/24 -j MASQUERADE
Obwohl ich glaube, dass ich auf dem richtigen Weg bin, ergibt der Code Folgendes:
ERROR - Unknown string operation