จำนวนอักขระในเอาต์พุตของคำสั่งเชลล์
ฉันกำลังเขียนบทซึ่งความต้องการในการคำนวณจำนวนตัวอักษรในการส่งออกคำสั่งในขั้นตอนเดียว ตัวอย่างเช่นการใช้คำสั่งreadlink -f /etc/fstabควรส่งคืน10เนื่องจากผลลัพธ์ของคำสั่งนั้นมีความยาว 10 อักขระ สิ่งนี้สามารถเกิดขึ้นได้กับตัวแปรที่เก็บไว้โดยใช้รหัสต่อไปนี้: variable="somestring"; echo ${#variable}; # 10 น่าเสียดายที่การใช้สูตรเดียวกันกับสตริงที่สร้างคำสั่งไม่ทำงาน: ${#(readlink -f /etc/fstab)}; # bash: ${#(readlink -f /etc/fstab)}: bad substitution ฉันเข้าใจว่าเป็นไปได้ที่จะทำสิ่งนี้โดยการบันทึกผลลัพธ์เป็นตัวแปรแรก: variable=$(readlink -f /etc/fstab); echo ${#variable}; แต่ฉันต้องการลบขั้นตอนพิเศษ เป็นไปได้ไหม ความเข้ากันได้กับ Almquist shell (sh) โดยใช้เฉพาะยูทิลิตี้ที่อยู่ในตัวหรือมาตรฐานเท่านั้น