shellプログラミング中のスペースの使い方
1.変数を定義する場合、=番号の両側にスペースを残してはいけません。
eg:
gender=femal――right
gender=femal――Cwrong
gender=femal――Cwrong
2.条件試験文[符号の両側にはスペースを残します。
eg:
if[$gender=femal];then--right.
echo「you are femal」
fi
if[$gender…---------------------wrong
if[$gender…----------wrong.
3.条件テストの内容は、文字列の比較であれば、比較記号の両側にスペースを残します。
eg:
if[$gender=femal];then--right.
if[$gender=femal];then――Cwrong.
if[$gender=femal];then――wrong.
4.ifとthenが同じ行に書いたら、thenの前についていくように注意してください。号.thenが改行すれば大丈夫です。
eg:
if[$gender=femal];then--right.
if[$gender=femal]
then―――――――――――right.
if[$gender=femal]then--wrong.then前が少なくなりました。番号.
ヒントエラーメッセージ:
syntax error near unexpected token then
同じように、エラーメッセージがたくさんあります。
syntax error near unexpected token fiなどはすべてこのように引き起こしたのです。
5.ifの後は必ずthen.と同じ理屈をつけます。
elifの後は必ずthenについてきます。
エラーメッセージを表示しないと:
syntax error near unexpected token else
1)if文の後はthenに従う必要があります。同時に前にセミコロンがあります。
2)スペースは非常に重要であり、shellはスペースの前をコマンドとして認識しています。a=3は賦値操作と考えています。a=3と書くと、aはコマンドthis=`ls-l grep'^-''_;wc-l`と考えられます。
3)オペレータ間はtestのようにスペースで区切られます。d$1、その中の!と-dはスペースで区切られます。
スペースはコマンド解析の重要な区切りです。
6.コマンドとその後のパラメータまたはオブジェクトの間には必ずスペースがあります。
if[-x]///Workspace/shell/a.sh];then
後に続く文字列が実行可能なファイル名を指しているかどうかは、-xの後にスペースがあるだけです。そうでなければテスト-x"~/Workspace/shell/a.sh"という文字列は空ですか?
7.変数の値を取る記号'$と、後の変数や括弧にはスペースがありません。
eg:
gender=femal――right
gender=femal――Cwrong
gender=femal――Cwrong
2.条件試験文[符号の両側にはスペースを残します。
eg:
if[$gender=femal];then--right.
echo「you are femal」
fi
if[$gender…---------------------wrong
if[$gender…----------wrong.
3.条件テストの内容は、文字列の比較であれば、比較記号の両側にスペースを残します。
eg:
if[$gender=femal];then--right.
if[$gender=femal];then――Cwrong.
if[$gender=femal];then――wrong.
4.ifとthenが同じ行に書いたら、thenの前についていくように注意してください。号.thenが改行すれば大丈夫です。
eg:
if[$gender=femal];then--right.
if[$gender=femal]
then―――――――――――right.
if[$gender=femal]then--wrong.then前が少なくなりました。番号.
ヒントエラーメッセージ:
syntax error near unexpected token then
同じように、エラーメッセージがたくさんあります。
syntax error near unexpected token fiなどはすべてこのように引き起こしたのです。
5.ifの後は必ずthen.と同じ理屈をつけます。
elifの後は必ずthenについてきます。
エラーメッセージを表示しないと:
syntax error near unexpected token else
1)if文の後はthenに従う必要があります。同時に前にセミコロンがあります。
2)スペースは非常に重要であり、shellはスペースの前をコマンドとして認識しています。a=3は賦値操作と考えています。a=3と書くと、aはコマンドthis=`ls-l grep'^-''_;wc-l`と考えられます。
3)オペレータ間はtestのようにスペースで区切られます。d$1、その中の!と-dはスペースで区切られます。
スペースはコマンド解析の重要な区切りです。
6.コマンドとその後のパラメータまたはオブジェクトの間には必ずスペースがあります。
if[-x]///Workspace/shell/a.sh];then
後に続く文字列が実行可能なファイル名を指しているかどうかは、-xの後にスペースがあるだけです。そうでなければテスト-x"~/Workspace/shell/a.sh"という文字列は空ですか?
7.変数の値を取る記号'$と、後の変数や括弧にはスペースがありません。