-d "dir_path" return 值問題 - Linux

Table of Contents

Dear all,

當我們要知道一個資料夾存不存在時, 假設資料夾為 "/var/run/test"

我們通常會用 [ -d "/var/run/test" ] 來問, 當資料夾存在時,

if [ -d "/var/run/test" ]; then echo "exit"; fi;

會印出 exit 字串, 但想請問為什麼

/root> [ -d "/var/run/test" ]
/root> echo $?
0

用 echo $? 拿 return 值會拿到 0 呢?

--

All Comments

Blanche avatarBlanche2015-08-02
阿... 我搞錯你想問的了 抱歉
Blanche avatarBlanche2015-08-04
shell exit status 0就是true,非0是false或error
Quanna avatarQuanna2015-08-10
http://goo.gl/yIvzmR 看這篇跟上一篇
(我也有點驚訝會相反XD)
Queena avatarQueena2015-08-12
exit code通常都是非0代表error啊 可以順便代表errno
Isla avatarIsla2015-08-17
畢竟通常正確就正確 錯誤倒是狀況很多
Kyle avatarKyle2015-08-21
[ ] 是 test(1), 看成是 test 的 exit code 就容易懂了
man test
Delia avatarDelia2015-08-23
而 bash 的 if list 是 list 的 exit code 為 0 時才成立
Bethany avatarBethany2015-08-26
[ -d "/var/run/test" ] && echo "yes" || echo "no"
Jake avatarJake2015-08-30
[ 才是test,]什麼都不是
Hamiltion avatarHamiltion2015-09-01
[才是test沒錯 但]是[結尾必要參數