Tôi mới bắt đầu viết kịch bản và học tập thông qua một số ví dụ. Một trong những ví dụ mà tôi thấy đang sử dụng một nếu-tuyên bố để kiểm tra nếu một tập tin đầu ra giao trước đây là hợp lệ, như thế này:Điều gì sẽ xảy ra nếu tuyên bố từ tập lệnh bash?
if [ -n "$outputFile" ] && ! 2>/dev/null : >> $outputFile ; then
exit 1
fi
tôi hiểu những gì [ -n "$outputFile" ]
làm nhưng không phải là phần còn lại của điều kiện. Ai đó có thể giải thích những gì ! 2>/dev/null : >> $outputFile
có nghĩa là gì?
Tôi đã googled cho câu trả lời nhưng hầu hết các liên kết được tìm thấy là giải thích về chuyển hướng I/O, chắc chắn có liên quan nhưng vẫn chưa rõ ràng về cấu trúc ! : >>
.
Bạn đã xem nó ở đâu? Và nó đã nói gì? –
Có thể viết lại thành 'if [[$ outputFile]] && [[! -w $ outputFile]]; sau đó thoát ra; fi' –
@glennjackman: '-w' giả định tệp đã tồn tại, vì vậy nó không giống hệt nhau. – FatalError