Tôi có hai máy chủ Linux (Debian). Tôi đang tạo một kịch bản shell.
Trên cái đầu tiên tôi tạo một mảng như vậy:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
Điều đó làm việc tốt. Nhưng khi tôi chạy nó trên máy chủ khác, tôi nhận được:
Syntax error: "(" unexpected
Theo như tôi có thể nói cả hai máy chủ đều giống nhau. Bất cứ ai cũng có thể làm sáng tỏ lý do tại sao điều này không hoạt động?
Nếu tôi gõ nó vào thiết bị đầu cuối trực tiếp thì ổn chứ ??
Nó sẽ xuất hiện khi tôi chạy nó như
sh scriptname.sh
Tôi nhận được lỗi, nhưng nếu tôi chạy nó như
./scriptname.sh
nó có vẻ ổn Có gì khác biệt?
sh
không phải bash
và vì vậy chạy nó sh scriptname.sh
là sai
cat -v <script>
xem có char giả không.