Khi tôi sử dụng mã dưới đây trong thiết bị đầu cuối SSH cho CentOS, nó hoạt động tốt:
paste <(printf "%s\n" "TOP")
Nhưng nếu tôi đặt cùng một mã dòng trong tập lệnh shell (test.sh) và chạy tập lệnh shell từ thiết bị đầu cuối, nó sẽ báo lỗi như thế này
./test.sh: line 30: syntax error near unexpected token ('
./test.sh: line 30: paste <(printf "%s\n" "TOP")
Làm thế nào tôi có thể khắc phục vấn đề này?
#!/bin/sh
ở trên cùng. Tôi đã thực hiện như bash test.sh
nhưng nó cũng không hoạt động.
bash
trong chế độ POSIX không hỗ trợ cú pháp đó (khi được gọi bằng --posix
hoặc dưới dạng /bin/sh
). Sử dụng #!/bin/bash
.
POSIXLY_CORRECT
bộ biến khi bạn bắt đầu bash
không?
#!/bin/bash
ở đầu đã khắc phục sự cố.
dash
thay vìbash
).