Сохраните результат поиска как переменной в сценарии оболочки [duplicate]

Все программы можно вызвать без &. [F2] является полностью необязательным. Все, что он делает, это отправить процесс на задний план, чтобы вы могли продолжать использовать свой терминал.

Без этого, если вы запустите процесс с терминала, вам нужно будет подождать, пока этот процесс не завершится (или не будет закрыт), прежде чем сможет продолжить использовать ваш терминал. Поэтому часто запускаются программы как command &, чтобы отправить их на задний план и продолжать работать в одном и том же терминале.

Подробнее о различных операциях оболочки, таких как & и о том, что они делают, см. Здесь.

1
задан 5 April 2018 в 12:17

4 ответа

Во-первых, ваша команда find неверна. Если вы хотите найти все файлы, которые заканчиваются на -gcc в текущем каталоге, это должно быть:

$ find . -type f -name "*-gcc"

Для сохранения вывода с find на GCC_VERSION используйте process substitution:

$ GCC_VERSION=$(find . -type f -name "*-gcc")

Обратите внимание, что у вас может быть более одного файла, который заканчивается на -gcc, поэтому заключите имя переменной в двойную кавычку:

$ echo "$GCC_VERSION" ./mipsel-linux-gnu-gcc ./aarch64-linux-gnu-gcc ./mips-linux-gnu-gcc ./arm-linux-gnueabihf-gcc
6
ответ дан 17 July 2018 в 17:27

Вам нужно использовать обратные тики

VARIABLE=`Command`
1
ответ дан 17 July 2018 в 17:27

Во-первых, ваша команда find неверна. Если вы хотите найти все файлы, которые заканчиваются на -gcc в текущем каталоге, это должно быть:

$ find . -type f -name "*-gcc"

Для сохранения вывода с find на GCC_VERSION используйте process substitution:

$ GCC_VERSION=$(find . -type f -name "*-gcc")

Обратите внимание, что у вас может быть более одного файла, который заканчивается на -gcc, поэтому заключите имя переменной в двойную кавычку:

$ echo "$GCC_VERSION" ./mipsel-linux-gnu-gcc ./aarch64-linux-gnu-gcc ./mips-linux-gnu-gcc ./arm-linux-gnueabihf-gcc
6
ответ дан 23 July 2018 в 18:16

Вам нужно использовать обратные тики

VARIABLE=`Command`
1
ответ дан 23 July 2018 в 18:16
  • 1
    backticks считаются устаревшими в пользу синтаксиса подстановки команды $(...). – Arronical 5 April 2018 в 12:13
  • 2
    @arronical Спасибо, я этого не знал. – variona 5 April 2018 в 12:20
  • 3
    См. [D0] unix.stackexchange.com/questions/126927/… – RoVo 5 April 2018 в 12:28

Другие вопросы по тегам:

Похожие вопросы: