Я возился в терминале на Red Hat Linux, и когда я набрал звездочку ( *
), а затем return, она запустила одну из программ в моем каталоге. Зачем?
Мое предположение заключается в том, что Unix воспринимал это как шаблон, поэтому он выполнил первую алфавитную программу. Так как my_program.exe
и one_of_my_programs.program
может быть выполнено простым вводом имени файла, оператор подстановки представляет все возможные файлы. Поскольку программа сначала в алфавитном порядке, Unix выполняет ее. Это правильное суждение?
*
алфавиту, но bash это то, что делает.
set -x
затем выполните свою команду (*
), вы увидите, что оболочка на самом деле решает выполнить с каждой командой после любых подстановок. (выключите этот режим с помощьюset +x
)