Учетная запись root по умолчанию использует tcsh, который использует псевдоним/команду «history»; Принимая во внимание, что sh используется по умолчанию для пользователей, если не указано иное. Фактический двоичный файл для команды истории для sh::
/usr/bin/fc
с флагом -l
, т.е.fc -l
Также см.man history
setopt extended_glob; ls -d -- **/(^*test).rb
или
setopt ksh_glob; ls -d -- **/!(*test).rb
Форма, отличная от вашей версии (*!(test).rb
), также будет соответствовать foo-test.rb
, поскольку *
соответствует foo-test
части имени файла, а отрицание !(test)
соответствует пустой строке.
Форма "ksh -glob" также работает в bash
сshopt -s globstar extglob
:
#! /bin/bash
shopt -s globstar extglob
ls -d -- **/!(*test).rb
Обратите внимание, что в bash должен быть символ новой строки между shopt -s extglob
и использованием расширенного шаблона, и они не могут быть частью одной и той же составной команды или функции.