Почему я могу запускать только файл .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

  • Найти общий размер определенных файлов в ветке каталога
  • Когда следует использовать конечную косую черту в каталоге?
  • Где программа установлена ​​после ./configure
  • Не удается открыть папку журнала Apache
  • Перенаправить домой общий раздел NTFS
  • Перемещение файлов и переименование с использованием части структуры каталогов и части текущего имени файла
  • Что такое ./ и ../ каталоги?
  • Печатать файлы в обратном порядке из ассоциативного массива в bash
  • Зеркалирование двух каталогов
  • Разрешения для каталога vs file permssions
  • Почему система V традиционно символизирует / bin в / usr / bin?
  • Название монтируемого тома в терминале отличается от GUI
  • Interesting Posts

    Перемещение против копирования

    Как читать / изменять контекст SELinux на смонтированном изображении ext4 из системы, отличной от SELinux?

    Не удается открыть графические редакторы в режиме суперпользователя

    прокси-трафика маршрутного шлюза через другой интерфейс с идентичными шлюзами восходящего потока

    Определить последнюю итерацию в bash for loop

    Команда для перечисления всех моноширинных шрифтов, известных как fontconfig

    Можно ли управлять окнами в Gnome Shell с помощью D-Bus?

    RHEL 5.5 – Необходимость обновления / dev / disk / by-label links

    В чем разница между && и | в сценарии bash?

    Что такое «рабочий каталог», когда cron выполняет задание?

    Напишите программу, которая читает из файла и печатает строку с номером строки

    Почему мне не нужно избегать класса символов в sed, но мне нужно избегать остальных?

    Получил новый ноутбук с аппаратными средствами, которые все еще не поддерживаются. Должен ли я ждать или возвращать его?

    Быстрый и грязный способ выполнения процесса более одного раза

    Работа crontab удалила мой файл в / tmp

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