有時有d野一路都係咁run,你就會以為是正確的,今日有一個由前人寫下來的shell script rerun 唔到,原因係因為在create file 時出現file exist, 細看d script, 明明它在create file 就已經會check下個file 是否存在, 如有就會remove 左去先,但為何這句script 就是行唔到呢
原本的script
[ -f ${pipename} ] && rm -f ${pipename}
基於我的shell script level 也只能說是比菜鳥好上少少的關係,在一番嘗試後終發現該句不能運作的原因是因為那物件是由mkfifo所建立的
Google 一番後就找到錯誤的地方,要check 一個pipe 是否存在, 是用-p 而不是-f的,改好了script 再測試就成功了.
新的script:
[ -p ${pipename} ] && rm -f ${pipename}
0 回應:
Post a Comment