簡體   English   中英

bash:檢查文件是否可讀時需要條件二進制運算符?

[英]bash: conditional binary operator expected when checking if a file is readable?

我有這段代碼可以在一台Macbook上完美運行,但不能在bash的另一台Linux機器上運行。 在Linux機器上運行時,嘗試檢查變量中的文件是否可讀時,出現錯誤"conditional binary operator expected" "syntax error near $ {testfile} "syntax error near ”。

for file in "${@:2}"
do
 if [[ ! -rf ${file} ]]

當我做到[ ! -rf "$file" ] [ ! -rf "$file" ]我得到: [: -rf: unary operator expected

[[ ! -r "${file}" && ! -f "${file}" ]]

要么:

[ ! -r "${file}" -a ! -f "${file}" ]

只需使用-r測試即可

if [[ ! -r ${file} ]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM