今までは、シェルのセミコロンは(どういうわけか)改行と同じ意味だと思っていました。だから私はそれに驚いた
alias <name>=<replacement text>; <name>
<name>
次の行で知られていますが、不明です。csh
、tcsh
、sh
、ksh
とbash
同じように動作。少なくともcsh
エイリアスが直接使用されているか、スクリプトがsemccolonの前に供給されているかは問題ではありません。エイリアスは後ではわかりません;
が、次のコマンドラインではわかります。これはバグですか、それとも意図された動作ですか?
「シェルのセミコロンは(どういうわけか)改行と同じ意味だと思った」ほぼ。だめ!
—
オービットのライトネスレース
セミコロンと改行の解釈は、パーサーの呼び出し方法によって異なります。「ドット」コマンドの場合、ボーンシェルは「NLFLG」を使用してパーサーを呼び出し、特定の状況で改行とセミコロンを等しいものとして扱うように指示しますが、他の場合はそうではありません。一般に、セミコロンは構文エラーの原因となる改行を含む可能性があるため、セミコロンと改行は同等ではありません。
—
2015年