เมื่อฉันใช้รหัสด้านล่างใน terminal SSH สำหรับ CentOS มันทำงานได้ดี:
paste <(printf "%s\n" "TOP")
แต่ถ้าฉันวางโค้ดบรรทัดเดียวกันในเชลล์สคริปต์ (test.sh) และรันเชลล์สคริปต์จากเทอร์มินัลมันจะพ่นข้อผิดพลาดเช่นนี้
./test.sh: line 30: syntax error near unexpected token ('
./test.sh: line 30: paste <(printf "%s\n" "TOP")
ฉันจะแก้ไขปัญหานี้ได้อย่างไร
#!/bin/shที่ด้านบน ฉันทำตามbash test.shแต่มันก็ไม่ได้ผลเหมือนกัน
bashในโหมด POSIX ไม่สนับสนุนไวยากรณ์นั้น (เมื่อเรียกด้วย--posixหรือเป็น/bin/sh) #!/bin/bashใช้
POSIXLY_CORRECTตั้งค่าตัวแปรเมื่อคุณเริ่มbash?
#!/bin/bashที่ด้านบนแก้ไขปัญหา
dashแทนที่จะเป็นbash)