การรันคำสั่งต่อไปนี้ในเชลล์จะทำงานโดยไม่มีปัญหา:
ssh user@machine systemctl สถานะ my-service.service
ssh user@machine sudo systemctl หยุด my-service.service
scp -r ./my-service/* user@machine:/home/user/my-service
ssh user@machine chmod +x /home/user/my-service/my-service
ssh user@machine sudo systemctl เริ่ม my-service.service
ssh user@machine sudo systemctl สถานะ my-service.service
อย่างไรก็ตาม ใส่สิ่งนี้ในไฟล์ ปรับใช้.sh
ไฟล์ส่งผลให้ไม่สามารถดำเนินการใด ๆ ข้างต้นได้
ข้อผิดพลาด:
- ชื่อหน่วยที่ไม่ถูกต้อง "my-service" ถูก Escape เป็น "my-service\x0d" (บางทีคุณควรใช้ systemd-escape?)
- ไม่พบหน่วย my-service\x0d.service
- ชื่อหน่วยที่ไม่ถูกต้อง "my-service.service" ถูก Escape เป็น "my-service.service\x0d" (บางทีคุณควรใช้ systemd-escape?)
- ไม่สามารถหยุด my-service\x0d.service: ไม่ได้โหลดหน่วย my-service.service\x0d.service
: ไม่มีไฟล์หรือไดเรกทอรี่ล็อค/
- chmod: ไม่สามารถเข้าถึง '/home/user/my-service/my-service'$'\r': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
- ชื่อหน่วยที่ไม่ถูกต้อง "my-service.service" ถูก Escape เป็น "my-service.service\x0d" (บางทีคุณควรใช้ systemd-escape?)
- ไม่สามารถเริ่ม my-service.service\x0d.service: ไม่พบหน่วย my-service.service\x0d.service
ชื่อหน่วยที่ไม่ถูกต้อง "my-service.service" ถูก Escape เป็น "my-service.service\x0d" (บางทีคุณควรใช้ systemd-escape?)
- ไม่พบหน่วย my-service.service\x0d.service
บ้างก็แตกหัก ดูเหมือนว่าจะเกี่ยวข้องกับการหลบหนี ด้วยเหตุผลบางอย่างการเพิ่มช่องว่างที่ส่วนท้ายของบรรทัดทำให้มันใช้งานได้ แต่ก็ยังไม่มีข้อผิดพลาด
Googling เกี่ยวกับข้อผิดพลาดแสดงความนิยมบางอย่างเกี่ยวกับการใช้ --
และเพิ่มพร้อมกับช่องว่างต่อท้ายทำให้บางคำสั่งทำงานได้ แต่ยังคงให้ข้อผิดพลาดในการหลบหนี