Почему я могу запускать только файл .sh из родительского каталога, а не дочернего каталога

Я Linux noob. Я заметил, что это не работает:

/tomcatDirectory/bin $ startup.sh //command not found 

но это действительно работает

 /tomcatDirectory $ bin/startup.sh 

Я привык к Windows. Мне кажется противоречащим мне, что я не могу запустить программу из своего рабочего каталога, только из родительской папки.

Какая большая картина того, что здесь происходит?

2 Solutions collect form web for “Почему я могу запускать только файл .sh из родительского каталога, а не дочернего каталога”

Текущий каталог (т . Е . ) Не находится на вашем пути. Попробуйте

 ./startup.sh 

Вы можете проверить свой путь с помощью

 echo ${PATH} 

Вы можете добавить текущий каталог ( . ) К своему пути, но это считается риском (особенно если это происходит перед другими каталогами): при вводе команды оболочка сначала попытается выполнить ее в текущем каталоге. Это выполнит то, что есть, а не по умолчанию .

Подведение итогов: просто запустите исполняемые файлы в текущем каталоге с ./ перед ними.

Поскольку «startup.sh» на самом деле не похож на путь к файлу, а у вас его нет . в переменной среды PATH. Но все же вы можете запустить его как ./startup.sh

  • Почему я не могу перейти в папку «Мои документы»?
  • поиск абсолютного каталога
  • Почему у меня нет папки и файла с тем же именем?
  • Где разместить исходный код для приложений, скомпилированных из исходного кода?
  • Изменение структуры дефектного каталога
  • Как регистрировать все события, выполняемые в каталоге?
  • Нет такого файла или каталога при копировании файлов в текущий каталог
  • Как называется каталог верхнего уровня
  • для + array + args
  • Лучший каталог для общих скриптов
  • Есть ли инструмент, который подключается к двум каталогам и синхронизирует их, как только что-то меняется?
  • Interesting Posts

    Объясните команду оболочки: shift $ (($ optind – 1))

    Почему cvs проверяет diff вместо файла?

    Могут ли программы initramfs получить доступ ко всей памяти – они работают в реальном или защищенном режиме?

    Как изменить файл общего файла python (.so)?

    Как получить nohup для выхода с чистого листа при использовании перенаправления файлов

    Как закончить бесконечный цикл на сервере облаков?

    История IP-адресов, подключенных к серверу через ssh

    Как я могу отсортировать список имен файлов с помощью некоторой подстроки имени?

    В Bash как определить длину имени файла?

    Необязательная задача: создает проблему с параметром

    Как установить Canon PIXMA MX882 с использованием CUPS 1.4.8 в Puppy Linux Precise 5.7.1

    Последовательный порт Arduino Micro сбрасывает соединение через несколько секунд

    Как распечатать только первое совпадение из каждой строки?

    RHEL sudo еще не разрешено для пользователя tina '

    sed replace – нужна помощь в замене текста в кучке файлов

    Linux и Unix - лучшая ОС в мире.