Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Заміна команди

Підстановка команд дозволяє нам використовувати вихід команди як розширення:



[me@linuxbox ~]$ echo $(ls)

Документи для робочого столу ls-output.txt Музика Зображення Загальнодоступні шаблони Відео

[me@linuxbox ~]$ echo $(ls)

Документи для робочого столу ls-output.txt Музика Зображення Загальнодоступні шаблони Відео


Один з моїх улюблених звучить приблизно так:



[me@linuxbox ~]$ ls -l $(який cp)

-rwxr-xr-x 1 кореневий корінь 71516 2007-12-05 08:58 /bin/cp

[me@linuxbox ~]$ ls -l $(який cp)

-rwxr-xr-x 1 кореневий корінь 71516 2007-12-05 08:58 /bin/cp


Тут ми передали результати який cп як аргумент до ls команди, таким чином отримуючи перелік файлів cp програму без необхідності знати її повне ім'я шляху. Ми не обмежуємося лише простими командами. Можна використовувати цілі конвеєри (лише частковий вихід


показано):



[me@linuxbox ~]$ файл $(ls -d /usr/bin/* | grep zip)

/usr/bin/bunzip2: символічне посилання на `bzip2'

/usr/bin/bzip2: 32-розрядний LSB виконуваний файл ELF, Intel 80386, версія 1 (SYSV), динамічно зв'язаний (використовує спільні бібліотеки), для GNU/Linux 2.6.9, вилучено

/usr/bin/bzip2recover: 32-розрядний LSB виконуваний файл ELF, Intel 80386, версія 1 (SYSV), динамічно зв'язаний (використовує спільні бібліотеки), для GNU/Linux 2.6.9, вилучено

/usr/bin/funzip: ELF 32-розрядний LSB виконуваний, Intel 80386, версія 1 (SYSV), динамічно зв'язаний (використовує спільні бібліотеки), для GNU/Linux 2.6.9, вилучено

/usr/bin/gpg-zip: виконуваний текст сценарію оболонки Bourne

/usr/bin/gunzip: символічне посилання на `../../bin/gunzip'

/usr/bin/gzip: символічне посилання на `../../bin/gzip'

/usr/bin/mzip: символічне посилання на `mtools'

[me@linuxbox ~]$ файл $(ls -d /usr/bin/* | grep zip)

/usr/bin/bunzip2: символічне посилання на `bzip2'

/usr/bin/bzip2: 32-розрядний LSB виконуваний файл ELF, Intel 80386, версія 1 (SYSV), динамічно зв'язаний (використовує спільні бібліотеки), для GNU/Linux 2.6.9, вилучено

/usr/bin/bzip2recover: 32-розрядний LSB виконуваний файл ELF, Intel 80386, версія 1 (SYSV), динамічно зв'язаний (використовує спільні бібліотеки), для GNU/Linux 2.6.9, вилучено

/usr/bin/funzip: ELF 32-розрядний LSB виконуваний, Intel 80386, версія 1 (SYSV), динамічно зв'язаний (використовує спільні бібліотеки), для GNU/Linux 2.6.9, вилучено

/usr/bin/gpg-zip: виконуваний текст сценарію оболонки Bourne

/usr/bin/gunzip: символічне посилання на `../../bin/gunzip'

/usr/bin/gzip: символічне посилання на `../../bin/gzip'

/usr/bin/mzip: символічне посилання на `mtools'


У цьому прикладі результати конвеєра стали списком аргументів файл наказ.

Існує альтернативний синтаксис для заміни команд у старих програмах оболонки, який також підтримується в бити. Він використовує зворотні лапки замість знака долара та дужок:


[me@linuxbox ~]$ ls -l `який cp`

-rwxr-xr-x 1 кореневий корінь 71516 2007-12-05 08:58 /bin/cp

[me@linuxbox ~]$ ls -l `який cp`

-rwxr-xr-x 1 кореневий корінь 71516 2007-12-05 08:58 /bin/cp


Найпопулярніші хмарні обчислення ОС на OnWorks: