���Υڡ��� ���Υڡ��� �ܼ���

6. ��ñ�ʥץ�����ߥ�

6.1 �����륹����ץ�: �������줿 .BAT �ե�����

DOS �ΥХå��ե�����(.BAT �ե�����)��Ĺ�����ޥ�ɥ饤��Υ��硼�ȥ��� �Ȥ���Τˤ褯�Ѥ����ޤ�(��Ϥ����������ˤ褯�Ȥ��ޤ���)��Linux �� �Ƽ拾�ޥ�ɤؤΥ��硼�ȥ��åȤ���ˤϡ�Ŭ�ڤ� alias �Ԥ� profile �� .profile �˵��ܤ��ޤ�(�嵭����򸫤Ƥ��� ����)���Ǥ⡢�Хå��ե��������ʣ������Ū�˻ȤäƤ����ʤ饷����Υ� ����ץȵ�ǽ��Ȥ��Τ������Ǥ��礦��������Υ�����ץȵ�ǽ�� QBasic �� Ʊ���ε�ǽ����äƤ��ޤ��������륹����ץȤ��ѿ��� while, for, case, if... then... else �Ȥ��ä����湽¤�ʤɡ�¿���ε�ǽ����äƤ��ޤ������� �륹����ץȤ�¿���ξ�����ʪ�פΥץ�������������˻Ȥ��ޤ���

�����륹����ץ� --- DOS �� .BAT �ե������Ʊ��ʪ --- ��񤯤ˤϡ�ɬ�� �ʻؼ����¤٤��̾�Υ��������ե�������ꡢ�����֤��� chmod +x <scriptfile> �Ȥ��Ƽ¹Ե��Ĥ�Ϳ���ޤ����¹Ԥ���ˤϤ��Υե� ����̾�����Ϥ��ޤ���

������դ��Ƥ����ޤ��ȡ������ƥ����°�Υ��ǥ������̾� vi �� ��������ηи���������ȡ��ۤȤ�ɤο������桼���ˤ� vi �ϻȤ� �Ť餤�褦�Ǥ����伫�� vi �Ϲ����ǤϤʤ����ȤäƤ⤤�ʤ��Τǡ� �����ǤϻȤ����������Ϥ��ޤ��󤬡�ɬ�פʤ�� Matt Welsh �� ``Linux installation...'' �򻲾Ȥ��Ƥ�������(X ��ư���ʤ� joe �� emacs �Τ褦���̤Υ��ǥ�����Ȥ����������Ȼפ��ޤ�)�������Ǥ� vi �ˤĤ��Ƥϰʲ��Υ��ޥ�ɤ������������Ƥ����ޤ���

bash �Υ�����ץȤν����ˤĤ��ƤϤ���������ܤ����ɬ�פˤ� ��Τǡ������ǤϤ���ʾ�Ͽ��줺�ˡ�����Ū�ʻȤ�����ʬ���륵��ץ륹�� ��ץȤ򼨤������ˤ��Ƥ����ޤ���


#!/bin/sh
# �����륹����ץȤΥ���ץ�
# ����ϥ����ȹ�
# 1 ���ܤ��ѹ����ʤ����ȡ�#!/bin/sh ��1���ܤˤʤ��Ȥ����ޤ���
echo "This system is: `uname -a`" # use the output of the command
echo "My name is $0" # built-in variables
echo "You gave me the following $# parameters: "$*
echo "First parameter is: "$1
echo -n "What's your name? " ; read your_name
echo look the difference: "hi $your_name" # quoting with "
echo look the difference: 'hi $your_name' # quoting with '
DIRS=0 ; FILES=0
for file in `ls .` ; do
  if [ -d ${file} ] ; then # if file is a directory
    DIRS=`expr $DIRS + 1`  # DIRS = DIRS + 1
  elif [ -f ${file} ] ; then
    FILES=`expr $FILES + 1`
  fi
  case ${file} in
    *.gif|*jpg) echo "${file}: graphic file" ;;
    *.txt|*.tex) echo "${file}: text file" ;;
    *.c|*.f|*.for) echo "${file}: source file" ;;
    *) echo "${file}: generic file" ;;
  esac
done
echo "there are ${DIRS} directories and ${FILES} files"
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then # exit code of last command
  echo "ZxY--!!!WKW not found"
fi
echo "enough... type 'man bash' if you want more info."

6.2 C �ǤΥץ������

Unix �Ǥϡ����������ˤ�����餺�������ƥ����� C �Ǥ�������¾�θ� ��(FORTRAN, Pascal, Lisp, Basic, Perl, awk...)�����Ѳ�ǽ�Ǥ���

���Ǥ� C �ˤĤ��Ƥϸ�¸�ΤΤ��ȤȤ��ơ������Ǥ� Turbo C++ �䤽�ο��̤� �Ȥä����Ȥ�����͸����ˤ����Ĥ��Υ����ɥ饤���Ҳ𤷤ޤ���Linux �Ǥ� C ����ѥ���� gcc �ǡ�DOS �� C ����ѥ�����դ��Ƥ���褦�� ����Ķ��䥪��饤�󡦥إ�ס�����ǥХå����त�ϰ��ڤ���ޤ��� gcc ��ñ�ʤ륳�ޥ�ɥ饤�󡦥���ѥ���Ǥ����������ƶ��Ϥ� �ĸ�ΨŪ�Ǥ���ɸ��Ū�� 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 ���󥯤��ޤ�)

��ñ�ʥץ������ʤ�Ф���ǽ�ʬ�Ǥ���������ѥ��뤹��ץ�����बʣ�� �Υ������ե����뤫��Ǥ��Ƥ����硢make �Ȥ����桼�ƥ���ƥ� ��Ȥ��Τ�����Ū�Ǥ������餫�Υѡ�����񤤤Ƥ���Ȥ��ޤ��礦�����Υ��� �������ɤ� parser.c �Ȥ����ե�����ˤʤäƤ��ꡢ parser.h �� xy.h �� 2 �ĤΥե�����򥤥󥯥롼�ɤ��� �������ơ� calc.c �Ȥ����ץ���������� parser.c �� ��ˤ���롼�����Ȥ������ʤ�ޤ�����calc.c �� parser.h �򥤥󥯥롼�ɤ��ޤ������ơ�calc.c �򥳥�� ���뤹��ˤϤɤ�����Ф����Ǥ��礦?

���ξ�硢makefile �ȸƤФ��ե������񤯤Τ������Ǥ��礦�� makefile �ϥ���ѥ���˥������ե�����ȥ��֥������ȥե������ ��¸�ط��򶵤��ޤ����������Ǥϰʲ��Τ褦�ˤʤ�ޤ���


# calc.c �򥳥�ѥ��뤹�뤿��� makefile
# Ŭ�ڤʾ��� <TAB> ���������Ϥ��뤳��!

calc: calc.o parser.o
<TAB>gcc -o calc calc.o parser.o -lm
# calc �ˤ� calc.o �� parser.o ��ɬ��

calc.o: calc.c parser.h
<TAB>gcc -c calc.c
# calc.o �ˤ� 2 �ĤΥ������ե����뤬ɬ��

parser.o:  parser.c parser.h xy.h
<TAB>gcc -c parser.c
# parser.o �ˤ� 3 �ĤΥ������ե����뤬ɬ��

# ����Ǥ�����

���Υե������ makefile �Ȥ���̾������¸����

$ make

�Ȥ���ȡ��ץ�����ब����ѥ��뤵��ޤ������뤤�� calc.mak �Ȥ���̾������¸���ơ�

$ make -f calc.mak

�Ȥ��뤳�Ȥ��ǽ�Ǥ����ܺ٤ˤĤ��Ƥ� RMP ���Ƥ���������

man �ڡ����� 3 �Ϥˤ� C �δؿ��ˤĤ��Ƥ�����������ޤ���

$ man 3 printf

Linux �ˤϤ��ޤ��ޤʼ���Υ饤�֥�꤬��������Ƥ��ޤ����ޤ��ǽ�˾Ҳ� ���٤��ϥƥ����ȥ⡼�ɤdzƼ�θ��̤�Ф������ ncurses �饤�� ���ȥ���ե��å��Ѥ� svgalib �Ǥ��礦��X �ץ�������ĩ�魯 ��ͦ��������С�XForms �饤�֥��( bloch.phys.uwm.edu:/pub/xforms) ��/���뤤�� MGUI �饤�֥��( www.volftp.vol.it:/IT/IT/ITALIANI/MORELLO/index.htm) ���� �ꤷ�Ƥߤޤ��礦������ 2 �ĤΥ饤�֥��� X �ǤΥץ������򤺤äȴ�ñ �ˤ��Ƥ���ޤ����ܡ�������������Ķ���̵���Ⱥ���ͤ� sunsite.unc.edu:/pub/Linux/apps/editors/ ��������Ǥ��� xwpe ��������Ǥ�����������¿�����������Ϥ��ꤽ���Ǥ�����


���Υڡ��� ���Υڡ��� �ܼ���