Проверьте наличие команды

0

Когда я выполняю скрипт bash с пользователем root, я получаю вывод о том, что iptables не существует. Почему это происходит только с рутом?

for CMDAPP in "hash" "curl" "iptables"
  do

    if ! hash "$CMDAPP" 2>/dev/null
    then

        echo "`date`: $MODULE ended without '$CMDAPP' command." >> ERROR.log
        exit

    fi

  done
Руи Бранко
источник
1
Я предполагаю, что iptablesкоманда не существует в корне PATH. Попробуйте which iptablesкак обычный пользователь и используйте этот абсолютный путь.
NigoroJr
1
Как root ( sudo su -) введите, export PATH=$PATH:/sbin/:/usr/sbin/а затем введите iptables -h. Если вы получаете справочную документацию по iptables, проблема заключается в переменной $ PATH, которую вы можете установить навсегда, отредактировав /root/.bashrc
0xDAFACADE