0
以下的Z shell代碼的工作:不能否認的Z shell變量
emacs &
disown emacs
但以下不會:
a="emacs"
"$a" &
disown "$a"
後者給出了不認說,它無法找到工作的錯誤命名爲emacs。我怎樣才能解決這個問題?
以下的Z shell代碼的工作:不能否認的Z shell變量
emacs &
disown emacs
但以下不會:
a="emacs"
"$a" &
disown "$a"
後者給出了不認說,它無法找到工作的錯誤命名爲emacs。我怎樣才能解決這個問題?
如果您始終要立即拒絕此過程,則可以使用&|
或&!
而不是普通的&
在後臺運行該過程,並且只需一步即可解除該過程。
如果你真的想這樣做,作爲一個單獨的步驟,您可以將自變量用單引號disown
:
disown '"$a"'
調用jobs
後啓動的命令就會發現,消除了引號和更換變量不會在作業命名後纔會發生,因此您需要在命名您要取消的作業時包含這些變量。
有趣。所以這個工作是在*參數擴展之前創建的* – chepner