Shell從命令行呼叫 gedit 時,如何將
從命令行呼叫 gedit 時,如何將 gedit something & disown
的行為轉變為預設行為?
當我
gedit
從命令行送出文件時,它總是鎖定終端,我厭倦了為它顯式命令一個分離的程序。我嘗試將別名命名
gedit
為gedit $* & disown
,但要麼這不是正確的語法,要麼不允許您使用別名重載可執行二進制命令(嘗試在 .bash_aliases 函式中使用它,alias gedit=editorz function editorz() { gedit $* & disown }
),但它不需要。
那麼如何使命令
gedit test.txt
不鎖定原始終端視窗?
這應該有效:您確定您的
.bash_aliases
已閱讀嗎?(它不是標准文件,但它可能來自您的~/.bashrc
. 如果您對.bashrc
and感到困惑.bash_profile
,請參閱.bashrc 和 .bash_profile 之間的區別。)你的函式中有一個錯誤:它應該是
editorz () { gedit "$@" & disown }
您的版本不適用於包含空格或 shell 萬用字元的文件名。
function
關鍵字是可選的。您可以呼叫該函式
gedit
(並完全省去別名),但是您需要告訴 shell 函式內部的呼叫是對命令而不是對函式的呼叫:gedit () { command gedit "$@" & disown }
請注意,如果您不小心在前台啟動了 gedit(即鎖定您的終端),您可以通過在終端中按
Ctrl
+Z
並輸入 command將其置於後台bg
。