Okazuje się, że iptables nie radzi sobie z wiodącymi zerami zbyt dobrze. Ponieważ użyte w tym celu $machinenumber
musi mieć wiodące zero w innych celach, chodzi po prostu o utworzenie nowej zmiennej ($nozero
) opartej na $machinenumber
, gdzie zerowanie zer wiodących.Usuwanie początkowych zer przed przekazaniem zmiennej powłoki do innego polecenia
$machinenumber
to dwucyfrowa liczba między 01 i 24. Obecnie jest to 09
$machinetype
wynosi 74 do teraz i nie spowodowała żadnych problemów wcześniej.
Co mam tak daleko jest:
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, wyniki kodowe w:
ERROR - Unknown string operation
Huh? '($ machinenumber + 0)' nie jest składnią matematyczną w bashu. –