У вас конфликт имен, а собственный метод переопределяет ваш в глобальной области. В приведенном ниже примере вы можете увидеть, что это document.write.
<button onclick="console.log(write)">console</button>
<button onclick="console.log(write('hi'))">Hi</button>
Потому что с ls <path>/
вы просите ls
перечислить файлы <path>
. Но с помощью ls <path>/*horiz
оболочка расширяет звездочку до фактического списка файлов, например
ls <path>/<prefix1>horiz <path>/<prefix2>horiz ... <path>/<prefixN>horiz
, но этот список слишком длинный для одной строки оболочки, поэтому выдает ошибку. ]
У этого есть один аргумент, имя каталога, которое ls
зацикливается внутри:
ls <path>/
Обратите внимание, что это не один аргумент:
ls <path>/*horiz
Здесь, Оболочка сама раскрывает <path>/*horiz
во все совпадающие файлы, а затем запускает ls
с этим списком совпадений.
Вы можете попробовать что-то вроде этого:
ls <path>/ | grep -c 'horiz