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

Antworten auf die Frage(15)

Ihre Antwort auf die Frage