Если вы использовали .BAT файлы, чтобы создать сокращения для длинных командных строк (я писал их множество), то в Linux это можно сделать вставкой соответствующих alias строк (см. пример выше) в profile или .profile. Но если ваши .BAT-файлы были более сложными, тогда вам понравится язык создания сценариев, предоставляемый shell: он также мощен как QBasic, если не больше. Он имеет переменные, структуры типа while, for, case, if... then... else, и множество других возможностей: он может быть хорошей альтернативой "настоящему" языку программирования.
Чтобы написать скрипт --- эквивалент .BAT файла под DOS --- все, что Вы должны сделать - это написать стандартный ASCII-файл, содержащий команды, сохранить его, затем сделать его выполнимой программой с помощью команды chmod +x <scriptfile>. Для запуска напечатайте его имя.
Предупреждение. Системный редактор называется vi, и, по моему опыту, новички находят его очень трудным в использовании. Я не собираюсь объяснять, как им пользоваться, потому что мне он не нравится, и я не пользуюсь им. Так что могу рассказать про него следующее:
Написание скриптов под 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, который обучает транслятор зависимости между источниками и objects. В нашем примере:
# 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, и возможно, что вам он понравится.