Создание загрузочного загрузочного Pen Drive оставляет файловую систему (ручного привода) только для чтения

exec - это команда с двумя очень разными поведением, в зависимости от того, используется ли с ней по крайней мере один аргумент или вообще не используется аргумент.

Если хотя бы один аргумент передан, первый из них берется как имя команды, а exec пытается выполнить его как команду, передающую оставшиеся аргументы, если таковые имеются, в эту команду и управление перенаправлениями, если таковые имеются. Если команда, переданная как первый аргумент, не существует, текущая оболочка, а не только команда exec, выходит с ошибкой. Если команда существует и является исполняемой, она заменяет текущую оболочку. Это означает, что если exec появляется в скрипте, инструкции, следующие за вызовом exec, никогда не будут выполняться (если только exec не находится в подоболочке). exec никогда не возвращается. Если аргумент не передан, exec используется только для переопределения дескрипторов файла оболочки. Оболочка продолжается после exec, в отличие от предыдущего случая, но вступили в силу стандартный ввод, вывод, ошибка или любой файл-дескриптор файла. Если в некоторых перераспределениях используется /dev/null, любой вход из него вернет EOF, и любой вывод на него будет отброшен. Вы можете закрыть файловые дескрипторы, используя - в качестве источника или адресата, например. [F12]. Последующие чтения или записи будут терпеть неудачу.

Вот два примера:

echo foo > /tmp/bar
exec < /tmp/bar # exec has no arguments, will only affect current shell descriptors, here stdin
cat # simple command that read stdin and write it to stdout

Этот скрипт выведет «foo» в качестве команды cat, вместо того, чтобы ждать ввода пользователя, как это было бы в обычном случае, будет возьмите свой вход из файла / tmp / bar, который содержит foo.

echo foo > /tmp/bar
exec wc -c < /tmp/bar # exec has two arguments, the control flow will switch to the wc command
cat

Этот скрипт отобразит 4 (количество байтов в / tmp / bar) и сразу закончится. Команда cat не будет выполнена.

1
задан 8 April 2017 в 08:58

0 ответов

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

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