ไดเรกทอรีบทความ
💻 dos2unix: ไม่พบคำสั่ง? แก้ไขข้อผิดพลาดนี้ได้ทันทีด้วยคำสั่งเดียว แก้ปัญหาการแปลงอักขระขึ้นบรรทัดใหม่จาก Windows เป็นLinux – เริ่มได้อย่างรวดเร็ว! 🚀
คุณเคยประสบกับสถานการณ์แบบนี้บ้างไหม?
ทำงานอย่างมีความสุขในเทอร์มินัล Linux dos2unix check_htaccess.shและระบบก็ตบหน้าคุณอย่างดัง:
-bash: dos2unix: command not found
จู่ๆจิตใจคุณก็พังทลายลงเหรอ? -
นี่ไม่ใช่จุดสิ้นสุดของโลก และไม่ใช่ว่าสคริปต์ที่คุณเขียนมีพิษ แต่เป็นเพราะระบบของคุณไม่ได้ติดตั้งสคริปต์นั้นเลย dos2unix เครื่องมือนี้
ต่อไป เรามาจิบชาและพูดคุยกันถึงสาเหตุที่เกิดความผิดพลาดนี้และวิธีแก้ไขในคราวเดียวกันเถอะ
dos2unix คืออะไร? ทำไมคุณถึงต้องการมัน?
dos2unix หน้าที่หลักของคำสั่งนี้คือแปลงการลงท้ายบรรทัดของ Windows (CRLF) เป็นการลงท้ายบรรทัดของ Unix (LF).
คุณอาจถามว่า: "ทำไมต้องแปลงอักขระขึ้นบรรทัดใหม่ด้วยล่ะ มันไม่ใช่แค่ขึ้นบรรทัดใหม่เท่านั้นเหรอ?"
ผิด! วิธีที่ Windows และ Unix จัดการไฟล์ข้อความนั้นเหมือนกับคนถนัดซ้ายและถนัดขวา ทั้งสองมีวิธีการที่แตกต่างกัน แต่ทั้งคู่ก็สามารถเขียนได้
การใช้งาน Windows CRLF(การส่งกลับรถ + การป้อนบรรทัด) ในขณะที่ Unix ใช้เฉพาะ LF(ตัดบรรทัด)
หากคุณโอนไฟล์ข้อความจาก Windows ไปยัง Linux, Linux อาจจะมองดูไฟล์นั้นด้วยความดูถูกและพูดว่า "เพื่อน รูปแบบของคุณผิด!"
ในเวลานี้ dos2unix มันจะช่วยคุณแปลงไฟล์รูปแบบ Windows เป็นรูปแบบที่เป็นมิตรกับ Unix และหลีกเลี่ยงข้อผิดพลาดแปลก ๆ ต่างๆ
ทำไมจึงปรากฏข้อความ “ไม่พบคำสั่ง”
มันง่ายมาก ระบบไม่ได้ติดตั้งคำสั่งนี้เลย!
ในการแจกจ่าย Linux จำนวนมาก (โดยเฉพาะระบบที่ติดตั้งขั้นต่ำ)dos2unix ไม่ได้ติดตั้งไว้ตามค่าเริ่มต้นดังนั้นหากต้องการใช้ก็ต้องติดตั้งก่อน
ลองนึกภาพว่าคุณต้องการซ่อมล็อคประตู แต่พบว่าไม่มีไขควงอยู่ในกล่องเครื่องมือ คุณจะไม่หงุดหงิดบ้างเหรอ?
จะติดตั้ง dos2unix ได้อย่างไร?
วิธีแก้ไขก็ง่ายๆ! ตราบใดที่คุณมีสิทธิ์ของผู้ดูแลระบบ คุณก็สามารถติดตั้งได้อย่างง่ายดาย

1. ซีรีย์ Debian/Ubuntu
หากคุณใช้ Debian, Ubuntu หรือระบบอื่น ๆ ที่ใช้ Debian ให้รันดังนี้:
apt-get update && apt-get install dos2unix -y
2. CentOS/ซีรีย์ RHEL
หากคุณใช้ CentOS หรือ RHEL คุณสามารถใช้ yum การติดตั้ง:
yum install dos2unix -y
หรือหากระบบของคุณใช้ dnf(ใช้ได้กับ CentOS 8+):
dnf install dos2unix -y
3. Arch ลินุกซ์
ผู้ใช้ Arch มักจะเป็นพวก "เนิร์ด" และเก่งในการทำสิ่งต่างๆ ด้วยตัวเอง แต่ถ้าคุณไม่ได้ติดตั้ง dos2unix, เพียงแค่ใช้ pacman 安装:
pacman -S dos2unix
4.macOS
หากคุณเป็นผู้ใช้ macOS คุณสามารถติดตั้งด้วย Homebrew ได้:
brew install dos2unix
ฉันจะตรวจสอบได้อย่างไรว่าการติดตั้งสำเร็จหรือไม่?
หลังจากติดตั้งแล้วให้ลองรันคำสั่งนี้:
dos2unix --version
หากแสดงหมายเลขเวอร์ชันถูกต้องแสดงว่าการติดตั้งสำเร็จแล้ว!
ฉันจำเป็นต้องใช้ dos2unix จริงหรือ?
คุณอาจสังเกตเห็นว่าการวิ่ง file check_htaccess.sh จากนั้นระบบได้แจ้งข้อมูลดังนี้:
check_htaccess.sh: Bourne-Again shell script, Unicode text, UTF-8 text executable, with very long lines (327)
นั่นหมายความว่าสคริปต์ของคุณเป็นสคริปต์ Unix ที่เข้ารหัสแบบ UTF-8 อยู่แล้วและตามทฤษฎีแล้วไม่ควรมีปัญหาเกี่ยวกับอักขระขึ้นบรรทัดใหม่
แล้วทำไมต้องติดตั้งด้วยล่ะ? dos2unix อะไร?
เพราะไม่ใช่ไฟล์ทั้งหมดจะโชคดีเช่นนี้!
หากไฟล์ที่คุณโอนจาก Windows มี CRLFซึ่งอาจทำให้โปรแกรม Linux บางโปรแกรมเกิดข้อผิดพลาดหรือแม้กระทั่ง bash ฉันเข้าใจผิดว่ามีบางอย่างผิดปกติกับสคริปต์ของคุณ
ดังนั้นการมี dos2unixเช่นเดียวกับที่คุณมีมีดสวิสอาร์มีสำรองติดตัว คุณสามารถซ่อมแซมไฟล์ในรูปแบบ Windows ได้ตลอดเวลาและลดโอกาสเกิดข้อผิดพลาดได้!
หากฉันไม่ต้องการติดตั้ง dos2unix มีวิธีอื่นหรือไม่?
แน่นอน! ในโลก Linux นั้นเต็มไปด้วย “วิธีแก้ไขที่บ้าน” มากมาย!
วิธีที่ 1: การใช้ sed
sed มันยังเป็นเครื่องมือวิเศษที่สามารถฆ่าได้ CRLF การแบ่งบรรทัด:
sed -i 's/\r$//' check_htaccess.sh
วิธีที่ 2: ใช้ tr
tr นอกจากนี้ยังเป็นเครื่องมือ Unix รุ่นเก่าที่สามารถลบออกได้ CR:
tr -d '\r' < check_htaccess.sh > newfile.sh
mv newfile.sh check_htaccess.sh
วิธีที่ 3: การใช้ vim
หากคุณเคยชินกับ vim, อนุญาต vim วิธีทำมีดังนี้:
:set fileformat=unix
:wq
สรุป: dos2unix ไม่ใช่ยารักษาโรคทุกชนิด แต่สะดวกสบาย!
เมื่อคุณเห็น dos2unix: command not found เมื่อคุณทำผิดพลาด ไม่ต้องตื่นตระหนก!คุณแค่ขาด "เครื่องมือแปลงรูปแบบ".
dos2unixส่วนใหญ่ใช้สำหรับแก้ไขปัญหาเส้นขาดจาก Windows ถึง Unix- เครื่องมือนี้ไม่ได้ติดตั้งไว้ตามค่าเริ่มต้น,คุณจึงต้องติดตั้งมันด้วยตัวเอง
- วิธีการติดตั้งนั้นง่ายมาก โดยระบบต่างๆ จะมีคำสั่งที่แตกต่างกัน (
apt-get,yum,dnf,pacman,brew) - หากคุณไม่ต้องการติดตั้งสามารถใช้งานได้
sed,tr或vimการซ่อมแซมด้วยตนเอง
ครั้งต่อไปที่คุณพบปัญหานี้ คุณจะรู้วิธีแก้ปัญหา!
จำไว้ว่า สิ่งสำคัญไม่ใช่การมีเครื่องมือมากมาย แต่เป็นการรู้วิธีใช้เครื่องมือเหล่านั้น! ตอนนี้คุณเชี่ยวชาญ "เครื่องมือแปลงค่า" นี้แล้ว ลองใช้ดูสิ! 🚀
หวังว่า บทความ "✅ dos2unix: command not found error? This 1-line command solves it in seconds!" ที่แชร์บนบล็อกของ Chen Weiliang ( https://www.chenweiliang.com/ ) จะเป็นประโยชน์กับคุณ
โปรดแชร์ลิงก์บทความนี้ได้ตามสบาย: https://www.chenweiliang.com/cwl-32651.html
