Это не возможно. Или по крайней мере не легкий. У Вас могла бы быть некоторая удача при присоединении gdb к процессу и игре с ним в gdb, но это может привести к катастрофическим отказам так же легко как успех.
Как насчет find A -maxdepth 1 -type f -exec xdg-open {} \;
Это должно открыть все файлы в папке, не идя дальше, чем верхний уровень.
Если Вы знаете, что объекты, которые Вы после, последовательно называют, можно использовать расширения оболочки во множестве путей.
$ xdg-open [a-d]
$ xdg-open {a..d}
$ xdg-open a* b*
В Bash (версии 3.2 +) можно использовать расширенный globbing для включенного все кроме чего-то, которому я верю, то, что Вы просите.
$ xdg-open !(B)
$ xdg-open !(A|B)
Я часто буду использование времен echo
таким образом, я вижу то, что globstar или расширенный globbing разработают, чтобы быть, на самом деле не выполняя реальную команду в расширенных списках файлов и/или каталогах.
Скажите, например, что у меня есть следующий каталог файлов.
$ ls -l
total 8
-rw-rw-r-- 1 saml saml 0 Nov 15 20:12 a
drwxrwxr-x 2 saml saml 4096 Nov 15 20:23 A
-rw-rw-r-- 1 saml saml 0 Nov 15 20:12 b
drwxrwxr-x 2 saml saml 4096 Nov 15 20:12 B
-rw-rw-r-- 1 saml saml 0 Nov 15 20:12 c
-rw-rw-r-- 1 saml saml 0 Nov 15 20:12 d
-rw-rw-r-- 1 saml saml 0 Nov 15 20:12 e
-rw-rw-r-- 1 saml saml 0 Nov 15 20:12 f
Теперь, если мы испытываем вышеупомянутые расширения, мы видим, как они были бы ярмарка.
$ echo [a-d]
a A b B c d
$ echo {a..d}
a b c d
$ echo a* b*
a b
$ echo !(B)
a A b c d e f
$ echo !(A|B)
a b c d e f
Существует множество других методов, которые можно использовать для управления способом, которым соответствует оболочка. Например:
?(pattern-list) Matches zero or one occurrence of the given patterns
*(pattern-list) Matches zero or more occurrences of the given patterns
+(pattern-list) Matches one or more occurrences of the given patterns
@(pattern-list) Matches one of the given patterns
!(pattern-list) Matches anything except one of the given patterns
Можно читать больше о них в этой названной Статье в журнале Linux: Bash Расширенный Globbing.
foo
, bar
и glarb
?
– Joseph R.
16.11.2013, 03:30