Як упустити "./" під час запуску скриптів у поточному каталозі


10

У деяких навчальних посібниках через Інтернет вони можуть запускати сценарій у поточному каталозі, не роблячи:

./script

Як ти це опускаєш? Я використовую CentOS 5.6 x64. Я хочу запустити це так

script


3
Зауважте, що це майже завжди погана ідея, особливо для кореневого користувача.
Девід Шварц

1
У чому вся мета / історія, що стоїть за ./?
Піт

Мені просто цікаво, чому це завжди потрібно мати ./
Aivan Monceller

Останній коментар може бути окремим питанням ІМХО - це важливо зрозуміти про запуск програм взагалі!
rozcietrzewiacz

4
@Pete (та Aivan): в Linux / UNIX оболонка запускає програми лише у тому випадку, якщо вона знає шлях до них (будь то за допомогою вказаного вами шляху чи шляхом пошуку змінної PATH). Це не передбачає, що ви хочете шукати в поточному каталозі, як це робить Windows. Він шукає саме те, що ви попросите його шукати за допомогою змінної PATH. '.' - це посилання на поточний каталог. Отже, коли ви набираєте './script.sh', ви повідомляєте йому шлях.
Касій

Відповіді:


26

Будь-який із:

  1. Додайте поточний робочий каталог у свій PATH: PATH=${PATH}:.(це вважається ризиком для безпеки)
  2. Додайте шлях, що містить ваш сценарій, до змінної PATH (це не ризик для безпеки, якщо доступ для запису до цього каталогу обмежений)
  3. Поставте свій сценарій у потрібне місце, де PATH вже вказує на (~ / bin, / usr / local / bin, ...)

Останній варіант, можливо, найкращий.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.