Вы можете использовать ls -A
, чтобы показать также скрытые файлы (, но не .
и ..
:, чтобы включить те, которые вы можете использоватьls -a
).
В вашем случае:*
расширяется оболочкой, поэтому ls
увидит некоторые файлы и некоторые каталоги. Если в качестве аргумента указан каталог, будут перечислены файлы в этом каталоге. Вы можете использовать ls -d *
, чтобы принудительно перечислить файлы в аргументах, а не перечислять файлы в каталогах в аргументах. Примечание:ls -d.*
мало чем отличается от echo.*
(, но некоторым форматированием ).
Из связанного руководства:
The trailing ‘?’ may be omitted if the string is followed immediately by a newline.
Поскольку в строке , а не , за которой сразу следует перевод строки, она должна иметь завершающий?
:
!?nameOfFile? | sed -n 'p1' | xargs cd
Хотя это вам не поможет, так как xargs cd
будет запускать cd
в отдельном процессе, поэтому ваша оболочка не пострадает. Вам понадобится что-то вроде:
cd "$(!?nameOfFile? | head -n1)"