Если Вы использовали .BAT файлы, чтобы создать сокращения для длинных
командных строк (я писал их множество), то в Linux это можно сделать вставкой
соответствующих alias строк (см. пример выше) в profile или .profile. Но если
ваши .BAT-файлы были более сложными, тогда вам понравится язык создания
сценариев, предоставляемый shell: он также мощен как QBasic, если не больше.
Он имеет переменные, структуры типа while, for, case, if... then... else, и
множество других возможностей: он может быть хорошей альтернативой
"настоящему" языку программирования.
Чтобы написать скрипт --- эквивалент .BAT файла под DOS --- все, что Вы
должны сделать - это написать стандартный ASCII-файл, содержащий команды,
сохранить его, затем сделать его выполнимой программой с помощью команды
chmod +x <scriptfile>. Для запуска напечатайте его имя.
Предупреждение. Системный редактор называется vi, и, по моему опыту, новички
находят его очень трудным для использовании. Я не собираюсь объяснять, как им
пользоваться, потому что мне он не нравится, и я не пользуюсь им. Так что
могу рассказать про него следующее:
i", затем ваш текст;
x";
vi без сохранения, напечатайте <ESC> затем :q!
:wq.
Хороший редактор для новичка - joe: вызовите его, напечатав jstar, и вы
получите очень знакомый по DOS редактор. Jed в WordStar или IDE режиме даже
лучше. Пожалуйста, обратитесь к разделу "Где найти приложения", чтобы узнать,
где можно найти эти редакторы.
Написание скриптов под bash - это такой обширный предмет, что требуется
книга, и я не буду углубляться в эту тему дальше. Я только дам Вам пример
скрипта shell, из которого Вы можете извлечь некоторые основные правила:
#!/bin/sh
# sample.sh
# Это комментарий
# не изменяйте первую строку, она необходима
echo "Это система: `uname -a`" # использование вывода команды
echo "Мое имя $0" # встроенная переменная
echo "Вы передали мне $# параметров: "$*
echo "Первый параметр: "$1
echo -n "Как ваше имя? " ; считывание вашего имени
echo notice the difference: "Здорово, $your_name" # использование "
echo notice the difference: 'Здорово $your_name' # использование '
DIRS=0 ; FILES=0
for file in `ls .` ; do
if [ -d ${file} ] ; then # если файл является каталогом
DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1
elif [ -f ${file} ] ; then
FILES=`expr $FILES + 1`
fi
case ${file} in
*.gif|*jpg) echo "${file}: графический файл" ;;
*.txt|*.tex) echo "${file}: текствый файл" ;;
*.c|*.f|*.for) echo "${file}: файл исходного текста" ;;
*) echo "${file}: некий файл" ;;
esac
done
echo "насчитано ${DIRS} каталогов и ${FILES} файлов"
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then # код выхода последней выполненной команды
echo "ZxY--!!!WKW не найден"
fi
echo "хватит... введите 'man bash', если вам нужно больше информации
В UNIX системный язык - C, вызывающий или любовь, или ненависть. Также доступны и множество других языков (Java, ФОРТРАН, Паскаль, Lisp, BASIC, Perl, awk ...).
В предположении, что в знаете C, имеется пара руководящих принципов для тех
из Вас, кто испорчен Турбо C++ или одном из компиляторов DOS. Транслятор С в
Linux называется gcc и испытывает недостаток всех звоночков и свистков,
которые обычно сопровождают его DOSовских собратьев: никаких IDE,
интерактивных справок, интегрированных отладчиков, и т.д. Это всего лишь
грубый транслятор командной строки, очень мощный и эффективный. Чтобы
скомпилировать ваш стандартный hello.c, выполните:
$ gcc hello.c
который создаст исполняемый файл, называемый a.out. Чтобы дать выполнимой программе другое имя,
$ gcc -o hola hello.c
Чтобы подсоединить библиотеку к программе, добавьте ключ -l <libname>.
Например, чтобы подсоединить математическую библиотеку:
$ gcc -o mathprog mathprog.c -lm
(ключ -l <libname> указывает gcc присоединить библиотеку
/usr/lib/lib<libname> .a; так -lm связан с /usr/lib/libm.a).
Идем дальше. Пока все хорошо. Но если ваш prog состоит из нескольких
исходных файлов, то вы должны будете использовать утилиту make. Давайте
предположим, что Вы написали синтаксический анализатор выражения: исходный
файл называется parser.c и #includes два файла заголовков parser.h и xy.h.
Затем Вы хотите использовать подпрограммы в parser.c в программе, скажем,
calc.c, который в свою очередь #includes parser.h. Что за бардак! Что Вы
должны сделать, чтобы скомпилировать calc.c?
Вам надо будет написать так называемый makefile, который обучает транслятор
зависимости между исходниками и объектными файлами. В нашем примере:
# this is makefile, used to compile calc.c # Press the <TAB> key where indicated! calc: calc.o parser.o <TAB>gcc -o calc calc.o parser.o -lm # calc depends on two object files: calc.o and parser.o calc.o: calc.c parser.h <TAB>gcc -c calc.c # calc.o depends on two source files parser.o: parser.c parser.h xy.h <TAB>gcc -c parser.c # parser.o depends on three source files # end of makefile.
Сохраните этот файл как Makefile, и напечатайте make, чтобы скомпилировать
вашу программу; альтернативно, сохраните его как calc.mak, и напечатайте,
make -f calc.mak, и, конечно, RMP. Вы можете вызывать некоторые справки о
функциях C, которые документированы в 3 разделе man страниц; например,
$ man 3 printf
Для отладки ваших программ используйте gdb. Используйте info gdb чтобы узнать,
как им пользоваться.
Имеется большое количество доступных библиотек; самая первая из них, которую
вы захотите использовать - ncurses, обрабатывающая текстовые режимы экрана, и
svgalib, работающая с графикой. Если Вы достаточно храбры, чтобы заняться
программированием под X11, то имеются библиотеки типа вышеупомянутох XForms,
Qt, Gtk и многих других, которые облегчают написание программ под X11.
Посмотрите в
http://www.xnet.com/~blatura/linapp6.html .
Многие редакторы могут действовать как IDE; emacs и jed, например, также
обеспечивают подсветку синтаксиса, автоматические отступы и так далее.
Альтернативно, воспользуйтесь пакетом rhide из
ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/. Это - аналог Borland
IDE, и возможно, что вам он понравится.