Xin chào, tôi là người mới bắt đầu viết kịch bản. Chỉ cần viết chương trình đơn giản này nhưng nó là ném lỗi.So sánh chuỗi trong bash không hoạt động
#!/bin/bash
os=`uname -o`
echo $os
if ["$os"=="GNU/Linux"] ; then
echo "Linux"
else
echo "Windows"
fi
Sử dụng == hoặc -eq cho cả hai trường hợp Tôi nhận được lỗi sau và đang in lệnh khác.
./ostype.sh: dòng 3: [GNU/Linux == GNU/Linux]: Không có tập tin hoặc thư mục
của Windows
phiên bản Bash: GNU bash, phiên bản 3.2 .48 (1) -release (x86_64-suse-linux-gnu)
Câu hỏi này đã được trả lời, hãy xem liên kết này [1] [1]: http://stackoverflow.com/questions/394230/detect-the-os-from-a-bash-script – mana
Với khoảng cách thích hợp '=' và '==' cả hai đều làm việc để so sánh các chuỗi. '-eq' là một số nguyên so sánh. – Hennes