return コマンドの終了コード
1) Cygwinを起動します。

2) ソースを格納するディレクトリに移動
cd src でソースを格納するディレクトリに移動します。
3) lsコマンドの終了コード
lsコマンドの終了コードをechoコマンドを使って表示させます。
Owner@FMIL002 ~/src
$ ls
myprintf.c

Owner@FMIL002 ~/src
$ echo $?
0
最後に実行したコマンドの終了コードは変数「?」に格納されています。変数を参照するには頭に「$」を付けます。lsコマンドの終了コードが0であることがわかります。

再びlsコマンドの終了コードをechoコマンドを使って表示させますが、今度はlsの引数に存在しないファイルを指定します。
Owner@FMIL002 ~/src
$ ls xxx
ls: xxx: No such file or directory

Owner@FMIL002 ~/src
$ echo $?
2
lsコマンドの終了コードが2であることがわかります。

補足)「?」以外にも変数はあります。下はbashで変数として予め用意されているものの一部です。(CYGWINは後から登録した変数です
Owner@FMIL002 ~/src
$ echo $PWD
/home/Owner/src

Owner@FMIL002 ~/src
$ echo $LINENO
115

Owner@FMIL002 ~/src
$ echo $LINENO
116

Owner@FMIL002 ~/src
$ echo $CYGWIN
server
4) ソース作成
カレントでviエディタを起動して myreturn.c を作成します。(Windowsのメモ帳などで作成してこのフォルダに保存してもよいです)内容は下です。
int main(void)
{
	eturn 3;
}
5) exeを作成し実行します。
Owner@FMIL002 ~/src
$ cd ../bin

Owner@FMIL002 ~/bin
$ gcc -Wall -o /home/Owner/bin/myreturn /home/Owner/src/myreturn.c

Owner@FMIL002 ~/bin
$ myreturn

Owner@FMIL002 ~/bin
$ echo $?
3

終了コードが「3」になっていることがわかります。「return - 1」場合は終了コードは「255」です。

4節 gccでプログラム生成  return 4節 gccでプログラム生成