Tôi muốn tạo một tập lệnh shell lặp lại một cái gì đó nếu 3 thư mục không tồn tại.
Đây là đoạn mã tôi đã viết: test.sh:
if [ ! -d "/home/unix/POSTagger2" ] || [! -d "/home/unix/POSTagger2/stanford-parser-full-2015-12-09"] || [! -d "/home/unix/POSTagger2/stanford-corenlp-full-2015-12-09"]; then
echo "Nope"
fi
Khi tôi chạy nó, tôi gặp lỗi này:
./test.sh: line 1: [!: command not found
Có gì sai với cú pháp của tôi?
[
không phải là mã thông báo, nó là một lệnh (tên gọi khác của lệnh test
) vì vậy nó phải được phân tách bằng dấu cách. Trường hợp tương tự là ]
tham số lệnh nên nó cũng phải được phân tách bằng khoảng trắng.