name=sogang
name=computer
shell에서 변수 선언은 필요하지 않다. 그냥 변수에 값을 바로 넣어주면 된다.
if [condition]
then
~~~~~
fi
if [condition]
then
~
else
~
fi
if [condition]
then
~~~
elif [condition]
~~~~
else
~~~~
fi
if [$# -eq 4]
then
echo $4 $3 $2 $1
else
echo Usage : $0 arg1 arg2 arg3 arg4
fi
for name [in list]
do
~~~~
done
for dir in $PATH
do
ls -ld $dir
done
while [condition]
do
~~~~
done
while [ $int -lt 5 ]
do
sq = `expr $int \* $int`
echo $sq
int = `expr $int +1`
done
위에 코드 분석하면서 새로 안 건데, l-value에는 $을 안붙이고 r-value에만 붙인다. 그리고 변수끼리 곱하기는 할 때는 grave accent 사이에 expr을 쓰고 그 뒤에 표현식을 쓰면 된다. `expr $int * $int` 이런식으로....
case expression in
patter1)
statements;;
pattern2)
statements;;
esac
echo "Is it morning? Please answer yes or no"
read timeofday
case "$timeofday" in
yes | y | Yes | YES ) echo "Good Morning";;
n* | N* ) echo "Good Afternoon";;
* ) echo "Sorry, answer not recognized";;
esac