русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Как считать со стандартного ввода один символ?


Дата добавления: 2014-11-27; просмотров: 653; Нарушение авторских прав


Используя команды dd и stty:

stty -icanon

echo -n "Enter a character: "

readchar=`dd if=/dev/tty bs=1 count=1 2>/dev/null`

echo "Thank you for typing a $readchar ."

stty icanon

Про dd см. в документации к SHELL-UTILS

3. Как переименовать все файлы *.html в *.htm ?

find . -name '*.html' | while read a; do mv $a ${a%.html}.htm; done

4. Как обратиться к параметру номер i , если i не константа, а переменная?

Можно подумать, что это легко и можно написать ${$i}, но это не сработает, и вам напишут bad substitution.

Примечание. Начиная с BASH 2.0 можно использовать конструкцию ${!i}.

Зато можно построить конструкцию следующего вида:

eval "param=\${$i}"

echo "Parameter number $i is $param"

А вот программа, которая выводит все свои параметры в обратном порядке, (C) 1997 ГС:

i=$#

while let I

do

eval "echo \${$i}"

i=$[i-1]

done

 

5. Какая последняя версия BASH?

Последняя, на момент написания данного текста, версия bash - 2.05. Она почти не отличается от 2.0, зато довольно сильно отличается от версии 1.14.7, предшествующей 2.0. Новые возможности по сравнению с 1.14.7:

· зарезервированное слово time для вычисления времени выполнения программы;

· одномерные массивы;

· новые виды экспансии: ${param:length:offset}, ${param/pat/replace-to};

· новые команды disown и shopt;

· новые виды кавычек для locale-specific translations, обозначения $'...' и $"...";

· ссылки на переменные: {$! param_name } будет вычислена переменная с именем, хранящимся в $ param_name (в старом для этого нужен eval).

6. Чем BASH отличается от SH ?

В SH отсутствуют следующие возможности BASH:

· новые возможности BASH 2.0 (см. выше);

· long named options (для вызова BASH);

· отрицание!;



· слово function (в некоторых реализациях sh это слово есть);

· команда select;

· обращение к параметрам больше девятого ${10};

· длина параметра ${#param}, "редактирование" ${var#str}, ${var%str};

· нет переменных: BASH, BASH_VERSION, BASH_VERSINFO, UID, EUID, REPLY, TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS, LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME, ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE, HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC, SHELLOPTS, OPTERR, HOSTFILE, TMOUT, histchars, auto_resume;

· перенаправление <>, &>, >|;

· echo -e (в некоторых реализациях имеется), hash -p (то же), type –apt;

· test -o optname/s1 == s2/s1 < s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S ;

· разные конфигурационные файлы для интерактивного или неинтерактивного сеанса: ~/. bashrc и $ENV соответственно;

· функции и переменные с одинаковыми именами;

· { }– экспансия: {префиксы}корень{суффиксы};

· обозначение ~ (имеется в некоторых реализациях);

· let (в некоторых реализациях есть команда с таким же именем, но отличающимся поведением);

· $((expr)) – только $[] или вообще нет;

· вместо $(...) только `...`;

· подстановки процессов >(cmd) <(cmd);

· alias и unalias (имеются в некоторых реализациях);

· local (в некоторых реализациях есть команда с таким же именем, но отличающимся поведением);

· история команд (в некоторых реализациях);

· команды command, builtin, declare, typeset, dirs, enable, help, logout, popd, pushd;

· экспортируемые функции;

· filename generation when using output redirection (command >a*).




<== предыдущая лекция | следующая лекция ==>
Операторы | Порядок выполнения лабораторных работ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.416 сек.