Usuwanie wiodących zer przed przekazaniem zmiennej powłoki do innego polecenia
Okazuje się, że iptables nie radzą sobie zbyt dobrze z wiodącymi zerami. Tak jak$machinenumber
w przypadku innych celów używany jest wiodący zero, pomysł polega na stworzeniu nowej zmiennej ($nozero
) oparte na$machinenumber
, gdzie zera wiodące są usuwane.
$machinenumber
to dwucyfrowa liczba od 01 do 24. Obecnie jest 09
$machinetype
ma teraz 74 lata i nie spowodował żadnych problemów.
Do tej pory mam:
nozero = (echo $machinenumber | sed 's/^0*//')
iptables -t nat -I POSTROUTING -s 10.($machinetype).($nozero).0/24 -j MASQUERADE
Chociaż uważam, że jestem na dobrej drodze, kod skutkuje:
ERROR - Unknown string operation