Почему при выполнении файла префикс точки и косой черты? [dубликат]

Этот вопрос уже имеет ответ здесь: зачем мне вводить `. /` перед выполнением программы в текущем каталоге? 10 ответов

Почему для выполнения сценария оболочки мне нужно написать:

./shell

, почему я не могу выполнить его, используя

shell

в каталоге с файлом?

0
задан 15 January 2018 в 14:32

2 ответа

Поскольку каталог, в котором вы находитесь, не находится в вашем PATH.

То, что вы хотите, возможно с помощью ...

export PATH=$PATH:.

Вы могли бы добавьте это везде, где у вас есть свой набор PATH, но справедливое предупреждение: это потенциальный риск для безопасности, поскольку вы можете заменить стандартные команды, такие как ls. Никогда не ставьте "." перед любым другим каталогом. НИКОГДА.

0
ответ дан 17 July 2018 в 23:00

Поскольку каталог, в котором вы находитесь, не находится в вашем PATH.

То, что вы хотите, возможно с помощью ...

export PATH=$PATH:.

Вы могли бы добавьте это везде, где у вас есть свой набор PATH, но справедливое предупреждение: это потенциальный риск для безопасности, поскольку вы можете заменить стандартные команды, такие как ls. Никогда не ставьте "." перед любым другим каталогом. НИКОГДА.

0
ответ дан 24 July 2018 в 13:34
  • 1
    но в windows, если я в каталоге с файлом, я могу его выполнить, почему в ubuntu это не нравится? – Blurry Script 15 January 2018 в 14:05
  • 2
    Потому что мы серьезно относимся к безопасности. – Rinzwind 15 January 2018 в 14:10

Другие вопросы по тегам:

Похожие вопросы: