$B%7%9%F%`!&%W%m%0%i%`(B
$BEE;R!&>pJs9)3X7O(B
$B?7>k(B $BLw(B
<yas@is.tsukuba.ac.jp>
$B$3$N%Z!<%8$O!"
http://www.coins.tsukuba.ac.jp/~yas/classes/syspro-2003/2003-06-23
/csh.html
$B$"$k$$$O!"
http://www.coins.tsukuba.ac.jp/~yas/
http://www.is.tsukuba.ac.jp/~yas/index-j.html
---------------------------------------------------------------------- <file $BI8=`F~NO$r(Bfile$B$K@ZBX$($k!#(B >file $BI8=`=PNO$r(Bfile$B$K@ZBX$($k!#(Bfile$B$NFbMF$,>e=q$-$5$l$k!#(B >>file $BI8=`=PNO$r(Bfile$B$K@ZBX$($k!#(Bfile$B$NKvHx$KDI2C$5$l$k!#(B >&file $BI8=`=PNO$HI8=`%(%i!<$r(Bfile$B$K@ZBX$($k!#(B p1 | p2 p1 $B$NI8=`=PNO$r%Q%$%W$K!"(Bp2 $B$NI8=`F~NO$r%Q%$%W$K(B p1 |& p2 p1 $B$NI8=`=PNO$HI8=`%(%i!<$r%Q%$%W$K!"(Bp2 $B$NI8=`F~NO$r%Q%$%W$K(B p1 <<EOF p1 $B$NI8=`F~NO$r!"(BEOF $B$H$$$&J8;z$,$,8=$l$k$G(B(here document)$B!#(B ... EOF ----------------------------------------------------------------------$B0z?t(B
---------------------------------------------------------------------- $1 $2 $3 ... n$BHVL\$N0z?t(B $argv[1] $argv[1] $argv[2] ... n$BHVL\$N0z?t(B $0 $B%W%m%0%i%`$NL>A0(B $* $BA40z?t(B $#argv $B0z?t$N?t(B shift $B0z?t$N%7%U%H(B ----------------------------------------------------------------------$B%7%'%kJQ?t(B
----------------------------------------------------------------------
set var=value $B%7%'%kJQ?t$N@_Dj(B
set var="value1 value2" $B%7%'%kJQ?t$N@_Dj(B
set var=(value1 value2) $B%7%'%kJQ?t$N@_Dj(B
unset var $B%7%'%kJQ?t$N2r=|(B
$var "$var" ${var} $var[index] $B%7%'%kJQ?t$NMxMQ(B
$$ PID
@ var=$B<0(B $B<0$N7W;;(B
----------------------------------------------------------------------
$B4D6-JQ?t(B
----------------------------------------------------------------------
setenv var value $B4D6-JQ?t$N@_Dj(B
setenv var "value1 value2" $B4D6-JQ?t$N@_Dj(B
unsetenv var $B4D6-JQ?t$N2r=|(B
$var "$var" ${var} $B4D6-JQ?t$NMxMQ(B
----------------------------------------------------------------------
$B%3%a%s%H(B
---------------------------------------------------------------------- # $B%3%a%s%H(B ----------------------------------------------------------------------$B0zMQId!"%(%9%1!<%W(B
---------------------------------------------------------------------- "..." $$B!"(B``$B!"(B\$B$r2r $B%U%!%$%kL>!"J8;zNs$NE83+(B---------------------------------------------------------------------- * 0$BJ8;z0J>e$NG$0U$NJ8;zNs(B ? $BG$0U$N#1J8;z(B [abc] []$B$NCf$NG$0U$N#1J8;z(B x{a,b,c}z {}$B$NCf$NE83+!#(Bxaz xbz xcz$B$N0UL#!#(B ~user $B%f!<%6$N%[!<%`!&%G%#%l%/%H%j(B ----------------------------------------------------------------------if$BJ8(B---------------------------------------------------------------------- if( ... ) cmd if( ... ) then cmd endif if( ... ) then cmd else cmd endif if( ... ) then cmd else if( ... ) then cmd else if( ... ) then cmd else cmd endif ----------------------------------------------------------------------$B%k!<%W(B---------------------------------------------------------------------- while( ... ) cmd end foreach var (w1 w2 w3 w4) cmd $var end ----------------------------------------------------------------------switch $BJ8(B---------------------------------------------------------------------- switch( string ) case label: breaksw default: breaksw endsw ----------------------------------------------------------------------$B$=$NB>(B---------------------------------------------------------------------- goto label ... label: exit $B?t(B $B=*N;(B exec cmd fork $B$7$J$$$G<+J,<+?H$G(B cmd $B$rif $BJ8!"(Bwhile $BJ8$N>r7o<0!"!V(B@ var =$B<0!W$N<0$H$7$F$O!" ---------------------------------------------------------------------- + - * / % << >> $B7W;;(B($B?t(B) < > <= >= $BHf3S(B($B?t(B) == != $BHf3S(B($B?t!"J8;zNs(B) =~ !~ $B%Q%?%s%^%C%A!#(Bif( aaa =~ a*b ) $B$N$h$&$K;H$&!#(B ~ & | ^ $B%S%C%H1i;;(B ! && || $BO@M}1i;;(B -r filename $BFI$_9~$_2DG=(B -w filename $B=q$-9~$_2DG=(B -x filename $B $B ---------------------------------------------------------------------- p1 ; p2 p1 $B$N $B$o$+$j$K$/$$%7%'%kJQ?t$H4D6-JQ?t(B ---------------------------------------------------------------------- $B%7%'%kJQ?t(Bterm $BJQ99$9$k$H4D6-JQ?t(B TERM $B$K$bH?1G$5$l$k!#(B $B%7%'%kJQ?t(Bpath $BJQ99$9$k$H4D6-JQ?t(B PATH $B$K$bH?1G$5$l$k!#(B $B%7%'%kJQ?t(Bhome $BJQ99$9$k$H4D6-JQ?t(B HOME $B$K$bH?1G$5$l$k!#(B ----------------------------------------------------------------------$B"!(Bforeach
foreach $B$O!"0z?t(B $*$B!"A4$F$N%U%!%$%k(B *$B!"%P%C%/!&%/%)!<%H(B `` $B$H$$$C$7$g$K;H$&$3$H$,B?$$!#(B$B%7%'%k%9%/%j%W%H$G$O!"(Bforeach f(*) $B$NBe$j$K!"(Bforeach f ($*) $B$r;H$($P0z(B $B?t!"(B`cat file` $B$r;H$($P!"(Bfile $B$NFbMF$D$$(B $B$F%k!<%W$r---------------------------------------------------------------------- % lsfile1 file2 file3 % foreach f (*)
foreach? echo $f
foreach? end
file1 file2 file3 %
----------------------------------------------------------------------
$B"!7W;;(B $B?t$N7W;;$,I,MW$J;~$K$O!"(Bcsh, tcsh $B$G$O!"(B@ $B$r;H$&!#(B ---------------------------------------------------------------------- % @ x = 1 + 2% echo $x
3 %
----------------------------------------------------------------------
$B"!%k!<%W$NCf$G$NJ8;zNs$N7k9g(B
---------------------------------------------------------------------- % set x=""% foreach i (a b c)
foreach? set x="$x""$i"
foreach? end
% echo $x
abc %
----------------------------------------------------------------------
$B"!%3%^%s%I$N
if $BJ8$G$O!"%3%^%s%I$,@.8y$7$?$+<:GT$7$?$+$rD4$Y$k$3$H$,$G$-$k!#(Bexit(0);$B$7$?;~$K!"@.8y(B(true)$B!"$=$l0J30$N;~$K<:GT(B(false) $B$H07$&!#(B$B%3%^%s%I$N% if ( { /bin/true } ) echo okok % echo $status
0 % if ( { /bin/false } ) echo ok
% echo $status
1 %
![]()
8e$KJQ?t(B $status $B$r8+$F$b$o$+$k!#(B
Last updated: 2003/06/22 23:27:34
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>