シェルスクリプトを書くときに複数のコマンドの入力または出力が同じファイルで、このファイルのパスと名前が非常に長い場合、あなたは多くの時間を同じパスを記述する必要は時間の無駄になり、私たちは、execコマンドを使用することができます特定のファイルに関連付けられたカスタムファイルディスクリプタ。
EXECLオープンファイル記述子の構文は次のとおりです。
#OUTPUTFILE開いているファイルやファイルディスクリプタのFDに関連付け オープン覆うように#の仕方 Execの。3 > OUTPUTFILE 追加するためのオープン# Execの。4つの >> outputfile1 #はファイルディスクリプタがすでに存在しているコピー Execの。5 >&。4 終了後に#を使用して閉じるファイルディスクリプタ Execの4。 >& -
特別な注意FD>、FD >>、および>&ミドルFDにはスペースはありません。
#!/ binに/ バッシュ #EXEC。SH エコー 「ファイル・ログに関連付けられているオープンファイル記述子3(上書きモード)、」 EXEC 3 > ログ エコー 「ファイルlog_1に関連付けられているオープン・ファイル・ディスクリプタ4(モードを追加)、」 EXEC 4 >> log_1 エコー 「ファイルを開きますファイルディスクリプタ5に関連付けられている記述子5、「 幹部5 >&3 エコー 」いくつかのデータを送信するには... 「 エコー 」execのテストログ" 1 >& エコー " EXEC試験log_1 " 1 >&4 エコー " EXEC試験log_2 " 1 >&5 エコー " FD 3を閉じると... " EXEC 3 >& - エコー" FD 4を閉じる... " EXEC 4 - >&エコー" ... FD 5を閉じる" 幹部5 >& - 〜