Tôi cần tạo một tập lệnh shell để kiểm tra sự hiện diện của tập tin và nếu nó không tồn tại, hãy tạo nó và chuyển sang lệnh tiếp theo hoặc chỉ chuyển sang lệnh tiếp theo. Những gì tôi có không làm điều đó.
#!/bin/bash
# Check for the file that gets created when the script successfully finishes.
if [! -f /Scripts/file.txt]
then
: # Do nothing. Go to the next step?
else
mkdir /Scripts # file.txt will come at the end of the script
fi
# Next command (macOS preference setting)
defaults write ...
Trả lại là
line 5: [!: command not found
mkdir: /Scripts: File exists
Không biết nên làm gì. Mỗi nơi một tìm kiếm Google mang lại cho tôi một cái gì đó khác nhau.
touch
các tập tin và bỏ qua các điều kiện?
[
và !
), nhưng có lẽ hữu ích khi chỉ ra đây [
là một lệnh thực tế trên Unix. Một lệnh Unix yêu cầu một số khoảng trắng giữa tên lệnh và các đối số của nó. Vâng, đó cũng là một nội dung Bash , nhưng cũng có một hệ nhị phân /usr/bin/[
trên hầu hết các hệ thống.