Команда не найдена, хотя в PATH

В моем sh или же tcsh я могу позвонить netstat без проблем. Однако с помощью Bash я получаю сообщение:

bash: netstat: command not found

Переменная PATH одинакова для всех оболочек:

PATH=/usr/lpp/Printsrv/bin:/usr/lpp/java/J6.0/bin:/EXEX/exec:/bin:/usr/sbin:/etc:/usr/lpp/perl/bin:.:/usr/lpp/ported/bin:.:.

Netstat находится в каталоге /bin и поэтому должен быть включен в PATH...

Есть идеи?

Спасибо!

1 ответ

Решение

У нас пока нет достаточно информации, чтобы утверждать, что здесь пошло не так, но я собираюсь выйти из положения и предположить, что ваш путь не такой, как вы думаете, не говоря уже о пути, который вы цитируете, очень не -стандарт и скорее всего не то, что вы хотите.

То, что вы говорите, ваш путь...

Указанный вами путь выглядит следующим образом:

/usr/lpp/Printsrv/bin
/usr/lpp/java/J6.0/bin
/EXEX/exec
/bin
/usr/sbin
/etc
/usr/lpp/perl/bin
.
/usr/lpp/ported/bin
.
.

Текущий рабочий каталог (.) три раза не вызовет проблем, но выглядит немного странно.

Вам не хватает стандартного каталога /usr/bin, И если у вас есть /usr/sbin ты должен иметь /sbin там также для согласованности.

Я не могу себе представить, почему вы бы поставили /etc на вашем пути. В этом каталоге никогда не должно быть исполняемых файлов.

Каков твой путь на самом деле...

Не должно быть никакой разницы между снарядами. Весьма маловероятно, что вы нашли ошибку в оболочках, поэтому давайте предположим, что ваш путь не совсем одинаков в каждой и постараемся выяснить, почему она выглядит так, как...

Все оболочки должны сообщать вам, что ваш путь совпадает с ОБА из двух команд:

# The PATH variable
echo "$PATH"

# The PATH environment variable
env | /bin/grep PATH

Помните, что есть два типа переменных. Внутренние переменные и переменные среды. PATH должен быть переменной среды.

Я не уверен, как вы нашли следующую строку:

PATH=/usr/lpp/Printsrv/bin:/usr/lpp/java/J6.0/bin:/EXEX/exec:/bin:/usr/sbin:/etc:/usr/lpp/perl/bin:.:/usr/lpp/ported/bin:.:.

Если это было взято из вашего .profile или же .bashrc затем он должен быть экспортирован, чтобы убедиться, что PATH задан как переменная окружения.

export PATH=/usr/lpp/Printsrv/bin:/usr/lpp/java/J6.0/bin:/EXEX/exec:/bin:/usr/sbin:/etc:/usr/lpp/perl/bin:.:/usr/lpp/ported/bin:.:.
Другие вопросы по тегам