Проблема с дисплеем возникла из-за того, что LVDS -1 (, который я не использую ), был настроен для работы в вертикальном разрешении, а разрешение по высоте было больше 480, поэтому виртуальный рабочий стол не может быть меньше.
Я решил эту проблему с помощью следующей команды:
xrandr --output LVDS-1 --off
Спасибо A.B за ваш вклад
Помимо проблемы с одинарными кавычками, вы дважды добавляете последний элемент
patterns+="${!#}"
/usr/bin/ls -lart | agrep "${patterns}${!#}"
Запустите программу с помощью bash -x mls cat bird
, чтобы увидеть
Но вам не нужен цикл :специальный параметр "$*"
объединяет позиционные параметры, используя первый символ IFS. Если мы временно определим новое значение для IFS, мы можем сделать
patterns=$( IFS=';'; echo "$*" )
Если вам не нужна «приблизительная» часть agrep
, bash может сделать это самостоятельно, используя расширенные шаблоны глобусов .
pattern=$( IFS='|'; echo "$*" )
shopt -s extglob
ls *@($pattern)*
Вы можете переключиться на zsh
здесь, чьи глобусы поддерживают ИЛИ, И (хорошо И -НЕ и НЕ )и приближение
$ set -o extendedglob # best in ~/.zshrc
$ ls -ld -- (#a1)*dig*~^(#a1)*bard*
-rw-rw-r-- 1 chazelas chazelas 0 May 8 16:24 animals-bird_dog_cat.txt
-rw-rw-r-- 1 chazelas chazelas 0 May 8 16:24 animals-bird_dog.txt
-rw-rw-r-- 1 chazelas chazelas 0 May 8 16:24 animals-cat_dog_bird.txt
-rw-rw-r-- 1 chazelas chazelas 0 May 8 16:24 animals-dog_bird.txt
-rw-rw-r-- 1 chazelas chazelas 0 May 8 16:24 animals-dog_cat_bird.txt