1
我有以下功能:調用它時魚貝:測試:在索引中缺少論據2
function is_file
set file $argv[1]
if test ‐f $file
return 0
else
return 1
end
end
但是:
is_file ~/.vimrc
我得到:
test: Missing argument at index 2
什麼時我錯過了?
我沒能得到一個錯誤,因爲你描述的功能:'is_file〜/ .viminf及回聲$ status'輸出'1 '。 'is_file〜/ .viminfo&echo $ status'打印'0'。你確定你的'if'語句是完全按照上面的方式輸入的嗎?即使刪除'set file $ argv [1]'行並用'if test -f $ argv [1]'替換'if'語句,它仍然按預期工作。 – pickypg
你必須仔細觀察,但'-'不是'-'。 :) –
順便提一句,'set file $ argv [1]'是不必要地聲明全局變量,而是使用'set -l file $ argv [1]'。另外,你不需要'返回0'或'返回1',因爲'is_file'將返回與'test'相同的結果。實際上,'[-f $ argv [1]]'已經足夠了。 –