請幫我調試一下簡單的eshell函數的下面的定義。是的,我知道我可以將l
定義爲別名,但我需要學習如何編寫eshell函數。如何向eshell添加新的shell命令?
(defun eshell/l (&rest args)
"a shortcut for ls that automatically adds some flags to the ls"
(apply #'eshell/ls "-h" "-F" "-t" args))
這幾乎是正確的。錯誤在於ls命令的輸出在之後插入新提示。
可能感興趣的注意事項:(1)沒有「-F」的說法。 (2)如果你顯式地運行'eshell/l',而不是'l',它就可以工作。 (3)如果編輯函數定義以準確地匹配'eshell/ls',除了額外的參數,它仍然失敗。 (4)如果將額外的參數添加到'eshell/ls'定義中,'ls'仍然正常工作。 – phils