รหัสส่วนใหญ่ฉันเขียนอยู่ใน PHP ฉันเพิ่งเริ่มเรียนรู้การเขียนสคริปต์เชลล์ ทรัพยากรและแบบฝึกหัดส่วนใหญ่ที่ฉันเจอนั้นเฉพาะเจาะจงกับ Bash บางคนเตือนเกี่ยวกับ bashisms และบางคนไม่ทำ ฉันอ่านมากที่นี่และ Stack Overflow
เมื่อใดก็ตามที่คำตอบใช้bashismsบางคนย่อมแสดงความคิดเห็นว่า:
คุณไม่ควรใช้ <insert bashism ที่นี่> มันไม่ได้พกพา
bashนี้เกิดขึ้นแม้ในขณะที่คำถามที่ได้รับการติดแท็กด้วย สำหรับฉันแล้วมันเหมือนกับบอกโปรแกรมเมอร์ PHP ว่าพวกเขาไม่ควรใช้รหัสที่ใหม่ใน PHP 5 เพราะมันไม่สามารถใช้กับ PHP 4 หรือบอกคนที่พวกเขาไม่ควรเขียนอะไรบางอย่างสำหรับ Mac เพราะมันไม่สามารถใช้ บน Windows
เมื่อผมเขียนใน PHP, ฉันได้รับความต้องการขั้นต่ำและที่ผมเขียนไปข้างหน้ารหัสใช้ได้กับระบบปฏิบัติการ ฉันไม่ต้องกังวลกับการทำให้ย้อนกลับ -เข้ากันได้
ถ้าฉันใช้#!/bin/bash
เป็นสาวเธอทำไมฉันไม่ควรใช้วิธีการทุบตี? ฉันเริ่มที่จะได้รับความประทับใจที่บางคนชอบทุบตี bashisms (ปุนตั้งใจ) เพียงเพื่อประโยชน์ของมัน
ผู้คนมักจะใช้bash
และใช้shell
แทนกันได้ - อาจเป็นเพราะการทุบตีเป็นเชลล์เริ่มต้นในหลาย ๆ ระบบ ดังนั้นฉันสามารถเข้าใจการเพิ่มความคิดเห็นเพื่อเตือนว่ารหัสใช้ bashisms แต่ฉันไม่เข้าใจความหมายที่ผิดที่จะใช้พวกเขา
เห็นได้ชัดว่าถ้าฉันเขียนสคริปต์อย่างเคร่งครัดเพื่อใช้ส่วนตัวฉันสามารถเขียนเป็นภาษาใดก็ได้ที่ฉันต้องการ แต่ฉันต้องการคิดว่ารหัสบางอย่างที่ฉันเขียนอาจมีประโยชน์กับผู้อื่น
ฉันพยายามค้นหาคำตอบสำหรับคำถามของฉันก่อนโพสต์ ผมพบว่าจำนวนมากของข้อมูลเกี่ยวกับวิธีการที่จะทดสอบสำหรับการพกพา แต่ไม่พบอะไรเกี่ยวกับเมื่อมันเป็นสิ่งสำคัญที่จะทำเช่นนั้น
ดังนั้นเมื่อใดจึงสำคัญที่ต้องเขียนสคริปต์แบบพกพา
ตัวอย่างเช่น,
- สคริปต์ประเภทใดควรพกพาได้มากที่สุด
- ระบบที่ไม่ได้ติดตั้ง Bash นั้นพบได้บ่อยแค่ไหน?
- ถ้าระบบติดตั้ง Bash แล้วจะมีรุ่นค้นหา GNU และโปรแกรมอรรถประโยชน์อื่น ๆ ด้วยหรือไม่
bash
แท็กเพียงอย่างเดียวมีคนแสดงความคิดเห็นว่า "มันน่าเบื่อและไม่ใช่พกพา" เมื่อฉันตอบคำถามที่ติดแท็กC
ฉันไม่สนใจว่าจะพกพาไปJava
ได้หรือไม่
bash
คุณสมบัติเฉพาะและไม่ใช่แบบพกพาเหมือนกับที่ฉันจะชี้ให้เห็นว่ามีการใช้ส่วนขยายเฉพาะของ GNU สำหรับยูทิลิตี้บางอย่าง (แม้ว่าคำถามจะถูกแท็กเป็น Linux) ฉันไม่เคยเห็นใครพูดว่า "นี่เป็นความนิยมและคุณไม่ควรใช้"