コマンドラインからgeditを呼び出すときに、`gedit Something&disown`の動作をデフォルトの動作に変更するにはどうすればよいですか?

コマンドラインからgeditを呼び出すときに、`gedit Something&disown`の動作をデフォルトの動作に変更するにはどうすればよいですか?

コマンドラインからファイルを送信すると、gedit端末は常にロックされ、分離されたプロセスに明示的にコマンドを発行するのに疲れました。

geditエイリアスをそのように設定しようとしましたが、正しい構文ではgedit $* & disownないか、エイリアスで実行可能なバイナリコマンドをオーバーロードすることはできません(.bash_aliases関数で試してみてください)。

alias gedit=editorz

function editorz()
{
  gedit $* & disown
}

)、必須ではありません。

gedit test.txtでは、このコマンドが元の端末ウィンドウをロックしないようにするにはどうすればよいですか?

ベストアンサー1

.bash_aliasesこれはうまくいきます。コンテンツを読みましたか? (これは標準文書ではありませんが、あなたの文書かもしれませ~/.bashrc.bashrc.bash_profile.bashrcと.bash_profileの違い.)

関数にエラーがあります。エラーが発生するはずです。

editorz () {
  gedit "$@" & disown
}

あなたのバージョンは、スペースやシェルワイルドカードを含むファイル名では機能しません。キーワードはfunctionオプションです。

関数を呼び出すことはできますが、gedit別名を完全に省略できますが、関数の内部呼び出しは、関数ではなくコマンドへの呼び出しであることをシェルに知らせる必要があります。

gedit () {
  command gedit "$@" & disown
}

Ctrl誤ってフォアグラウンドでgeditを起動した場合(たとえば、端末をロックする)、端末で+を押してZコマンドを入力してバックグラウンドにすることができますbg

おすすめ記事