Tôi đang viết tập lệnh bash đơn giản này như sau.Mảng Bash: Lỗi cú pháp không mong muốn
#!/bin/bash
array=(/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf)
echo ${array[@]}
Tôi dự kiến nó sẽ in tất cả tên của tệp trong mảng. Nhưng tôi nhận được lỗi này thay vì:
test.sh: 3: Syntax error: "(" unexpected
Nếu tôi thay đổi tuyên bố của mảng để
array = {/home/abc/Downloads/something.bat /home/abc/Downloads/smb.conf}
lỗi này sẽ biến mất nhưng tôi vẫn còn có lỗi mới
test.sh: 3: array: not found
test.sh: 4: Bad substitution
Làm thế nào tôi có thể giải quyết vấn đề này? Đây là lần đầu tiên tôi lập trình vỏ nên tôi không thể tự khắc phục được sự cố.
QUYẾT:
Tôi đã thực hiện nó như sh test.sh nhưng tôi quên tôi phải thực hiện nó như bash test.sh
Đó không phải là mảng kết hợp. Đó là một mảng bình thường, được đánh số bằng số. –
@DennisWilliamson Oh Ok. Tôi sẽ chỉnh sửa nó – user1357576
@ user1357576: Đăng giải pháp dưới dạng câu trả lời và đánh dấu nó là chấp nhận, không chỉnh sửa nó thành câu hỏi. Ngoài ra, không chỉnh sửa tiêu đề để giải quyết nó, trang web sẽ đánh dấu câu hỏi là đã được giải quyết khi bạn chấp nhận câu trả lời. – Daenyth