我正在创建一个函数(如下),它可以接受一个参数:目录。我使用 -d
选项测试 $argv
是否为目录,但似乎不起作用,即使没有提供任何参数也会始终返回 true。我还尝试使用 test -n $argv -a -d $argv
来测试 $argv
是否为空字符串,但这会返回 test: Missing argument at index 1
错误。我应该如何测试函数是否提供了任何参数?从我的理解上来看,为什么 test -d $argv
不起作用,因为空字符串不是目录,所以应该为 false。
function fcd
if test -d $argv
open $argv
else
open $PWD
end
end
感谢您的帮助。
end
,由于字符数少于最小的6个字符,我无法编辑 - 请更新上面的答案... - Ismail Moghul> /dev/null
而感到困惑,所以我找到了一种更详细的替代方法,但对我来说更易读:if test (count $a) -gt 0; ...; end
。 - FMCorz