Вы работаете различные команды в Linux и Solaris.
Следующие действия не будут выполняться, как указано nsilent22, независимо от ОС:
ls -l | grep '*PROC*'
Это сработало бы в маловероятном случае, когда файлы имеют знак *
в их имени, предшествующий PRO
.
Следующая один будет работать (вроде), если *PROC*
расширяется только один раз, то есть, если есть только один файл с PROC от своего имени:
ls -l | grep *PROC*
Это также может объяснить разницу в поведении вы могли бы наблюдали между Solaris и Linux, но на самом деле не связаны с ОС. Вы говорите, что в Solaris есть много файлов с PROC, но в Linux может быть только один.
В любом случае использование grep
здесь в основном бесполезно, за исключением особого случая, существует слишком много файлов, соответствующих *PROC*
в каталоге, чтобы их имена соответствовали окружающей среде. В противном случае, вы бы ожидаемый результат этой простой командой:
ls -l *PROC*
Спасибо за помощь. Я использую unix-серверы REDHAT, и когда я делаю 'ls -l | grep * PROC * 'работает отлично. Но не в солярии. Так что это уникальный случай в соляризе или мне не хватает somethinh – sandywho
Нет, 'greo * PROC *' никогда не будет работать. Это потому, что '*' будет расширяться как выражение glob вашей оболочкой. – hek2mgl
@ hek2mgl Существует случай, когда 'grep * PROC *' будет работать. – jlliagre