$(locate nasm_shell)
или же
`locate nasm_shell`
Вы можете использовать обратные символы ``
или $()
для выполнения команды в подоболочке, например:
user@host$ which df
/bin/df
user@host$ `which df`
Filesystem 1K-blocks Used Available Use% Mounted on
...
/dev/sda1 498532 199535 268738 43% /boot
/dev/mapper/vg-home 412718256 232104076 159626276 60% /home
Если есть более одной строки вывода, вам нужно использовать grep
или другой инструмент для выбора правильного вывода:
Например, следующее имеет больше, чем я хочу, чтобы найти mkdir
user@host$ locate mkdir
/bin/mkdir
/opt/project-neon5/include/KF5/KIOCore/kio/mkdirjob.h
/usr/lib/klibc/bin/mkdir
/usr/lib/mc/fish/mkdir
/usr/share/aclocal-1.14/mkdirp.m4
/usr/share/man/man1/gvfs-mkdir.1.gz
/usr/share/man/man1/mkdir.1.gz
/usr/share/man/man2/mkdir.2.gz
/usr/share/man/man2/mkdirat.2.gz
/usr/share/zsh/functions/Completion/Unix/_mkdir
/var/lib/gems/1.9.1/doc/bundler-1.3.5/ri/Bundler/mkdir_p-c.ri
Я просто хочу mkdir
который живет в /bin
. Используя grep, чтобы выбрать правильный вывод, затем добавив аргумент к выводу подоболочки:
user@host$ $(locate mkdir | grep "^\/bin") test-directory && ls -ld test-directory
drwxrwxr-x 2 user user 4096 Nov 15 21:18 test-directory
Обратите внимание на использование альтернативного синтаксиса $()