これまで、シェルのセミコロンが改行文字と同じ意味を持っていると思いました。だから私は驚きました。
alias <name>=<replacement text>; <name>
<name>
不明ですが、次の行は知られています。csh
、、、、tcsh
および同様に動作しsh
ますksh
。bash
少なくともcsh
エイリアスを直接使用したり、セミコロンの前にスクリプトをインポートしたりすることは重要ではありません。エイリアスはセミコロンの後にはわかりませんが、;
次のコマンドラインからはわかります。これはバグですか、それとも意図的な動作ですか?
ベストアンサー1
使用しているエイリアス構文は、POSIXシェルには適していません。 POSIX シェルの場合は、以下を使用する必要があります。
alias name='replacement'
ただし、すべてのシェルに対して、別名の置換がパーサーの最初に実行されるため、これは機能しません。
パーサーはエイリアス設定を実行する前に行全体を読み取るため、コマンドラインは機能しません。
エイリアスが次のコマンドラインに表示されると機能します。