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.shnhưng nó cũng không hoạt động.
bashtrong chế độ POSIX không hỗ trợ cú pháp đó (khi được gọi bằng --posixhoặc dưới dạng /bin/sh). Sử dụng #!/bin/bash.
POSIXLY_CORRECTbộ biến khi bạn bắt đầu bashkhông?
#!/bin/bashở đầu đã khắc phục sự cố.
dashthay vìbash).