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.