2013-09-30 3 views
-1

Я написал сценарий оболочки в linux с именем script.sh. Это, предполагают, чтобы назвать «сценарий -a record.txt» команду, когда выполняется и создать захват моего терминала в файле record.txtУзел захвата сценария Linux в сценарии оболочки

#!/bin/bash 

script -a record.txt 

mkdir folder 

, когда я запускаю этот script.sh файл, я получаю запись .txt, но содержимое «mkdir folder» там не записано. команда «mkdir folder» была проигнорирована и, таким образом, не позволила мне создать новый каталог. Кто-нибудь знает, как это исправить?

+0

Это его script.sh, то 'script' в его коде является Unix [команда] (http://unixhelp.ed.ac.uk/CGI/man- cgi? script) – cete3

ответ

0

я получил его

#!/bin/bash 
function one { 

mkdir folder 
} 

one | tee record.txt 
1

TLDR: команда сценария вилки и создает под-оболочку в соответствии со значением $ SHELL и записывает текст из этого сеанса.

Вы должны сделать Ctrl + D или exit после завершения работы файла script.sh для script, чтобы выйти

На странице script людей (http://man7.org/linux/man-pages/man1/script.1.html)

скрипт делает машинопись все напечатано на вашем терминале.

Сценарий завершается, когда выведена раскосная оболочка (элемент управления-D для выхода из оболочки Борна (sh (1)), и выход, выход из системы или управление-d (если ignoreeof не установлен ) для C-оболочки , csh (1)).

Таким образом, если вы

#!/bin/bash 
script -a record.txt 
mkdir folder 
ls 

Затем команда MkDir не получает выполняться, потому что вы находитесь в раздельно раздвоенным югу оболочки в настоящее время. Когда вы выйдете с помощью ctrl + D или exit, автоматически запустится mkdir и создайте нужную папку.

Однако вывод команды ls или выдача mkdir и ls команды не будет записана в файле record.txt, поскольку низкоспиновой выполняются в оригинальной оболочке, а не в смежной оболочке создается скрипт ,

+0

Как сделать так, чтобы он выполнялся из подоболочки, созданной скриптом? – NewFile

+0

@NewFile Что вы пытаетесь достичь? Проверка вашего ответа «скрипт» - неправильный инструмент для использования в вашем скрипте. –

Смежные вопросы