申し訳ありません。私はbashファイルなどについて初めて触れました。私の.bashrcのコピーは次のとおりです。
alias k='kate 2>/dev/null 1>&2 & disown'
function kk {kate 2>/dev/null 1>&2 & disown}
1行目のエイリアスは正常に機能しますが、2行目では次のエラーが発生します。
bash: /home/mozershmozer/.bashrc: line 3: syntax error near unexpected token `{kate'
bash: /home/mozershmozer/.bashrc: line 3: `function kk {kate 2>/dev/null >1>&2 & disown}'
私はLinux Mint 17.3を実行しており、これが私の.bashrcファイルにある唯一の2行です。私のコンピュータの他のほとんどすべての項目は基本的にバニラです。結局のところ、私はこの関数を試して特定のタスクを実行したかったのですが、すぐに構文の壁にぶつかりました。ここにリストされている正確な関数は、構文をより明確に学ぶのを助ける実験的なダミー関数です。
ベストアンサー1
完全に特別ではありませんが、他のbash
POSIXシェルでも利用可能{
}
シンボル彼らは特別ですが性格この文脈で。機能定義から複合コマンドを生成するときは、それらを保存することが重要です。性格つまり、スペースで囲まれています。
このような単一行関数定義の最後のコマンドは、セミコロンで終わる必要があります。それ以外の場合は、クローズ中括弧がコマンド}
の引数として扱われます。
記述子として、もし関数を別のPOSIXシェルに移植するには、別の関数構文を使用することをお勧めします。
kk () { kate 2>/dev/null 1>&2 & disown; }
の使用はfunction
のみに適用されますbash
が、ここで提供される形式はbash
sh、Korn、およびAlmquistシェルなどの他のシェルに適用されます。
disown
また、bashによって異なります。