コマンドラインからファイルを送信すると、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
。
答え2
function editorz()
エイリアスの前に定義されていることを確認してください。
私はあなたの方法を試しましたが、問題はありませんでした。
答え3
gedit
ターミナルの代わりにユーティリティフォルダで開くと問題が解決しました。
答え4
次のエイリアスを追加するだけです。
alias gedit='gedit -b'
この-b
オプションはバックグラウンドで実行されることを意味します。