vì vậy tôi có chức năng nàyBash regex phù hợp không làm việc
function test(){
local output="CMD[hahahhaa]"
if [[ "$output" =~ "/CMD\[.*?\]/" ]]; then
echo "LOOL"
else
echo "$output"
fi;
}
tuy nhiên thực hiện thử nghiệm trong dòng lệnh sẽ ra $ đầu ra thay vì "lool" mặc dù thực tế rằng các mô hình nên được phù hợp với $ đầu ra ...
tôi đã làm gì sai?
Bạn đang cố sử dụng '. *? 'Làm kết quả không tham lam? 'bash' không hỗ trợ toán tử kiểu Perl đó. Các dấu gạch chéo chuyển tiếp cũng là một phần của cú pháp khớp của Perl, không phải là một phần của biểu thức chính quy. – chepner