UNIX — универсальная среда программирования
UNIX — универсальная среда программирования читать книгу онлайн
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
shell.
Для программистов-пользователей операционной системы UNIX.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
$ cd /usr/you/bin
$ for i in `pick *`
> do
> echo ============== Это файл $i ==============
> cat $i
> done | mail где-то!боб
$
Однако посмотрим на это с точки зрения адресата
"где-то!боб"
shell
$ cat bundle
# bundle: группирует файлы в распределенный пакет
echo '# Для разбиения на файлы вызовите sh с этим файлом'
for i
do
echo "echo $i 1>&2"
echo "cat >$i <<'End of $i'"
cat $i
echo "End of $i"
done
$
Поскольку мы взяли в кавычки
"End of $i"
Естественно, что вам следует выполнить пробный запуск программы, чтобы не нанести ущерб адресату
"где-то!боб"
$ bundle cx lc >junk
$ cat junk
# Для разбиения на файлы вызовите sh с этим файлом
echo cx 1>&2
cat >cx <<'End of cx'
chmod +x сх
End of cx
echo lc 1>&2
cat >lc <<'End of lc'
# lc: подсчет числа строк в файлах
wc -l $*
End of lc
$ mkdir test
$ sh ../junk
cx
lc
$ ls
cx
lc
$ cat cx
chmod +x $*
$ cat lc
# lc: подсчет числа строк в файлах
wc -l $*
$ cd ..
$ rm junk test/*; rmdir test
$ pwd
/usr/you/bin
$ bundle `pick *` | mail где-то!боб
$
Здесь могут возникнуть трудности, если окажется, что один из посылаемых файлов содержит строку вида
End of имя_файла
но это маловероятное событие. Для обеспечения полной надежности программы нам потребуются некоторые из описываемых в последующих главах средства, однако и в таком виде она удивительно полезна и удобна.
Программа
bundle
shell
mail
shell
Как бы вы использовали
bundle
Модифицируйте программу
bundle
ls -l
bundle
ar(1)
3.10 Для чего нужно программировать на языке shell!
Программа
shell
shell
shell
Интерпретатор дает вам такие средства, как циклы, переключение ввода-вывода с помощью
<
>
*
shell