ฉันพยายามเขียนเชลล์สคริปต์ที่ขออักขระ ASCII ในช่วง AZ หรือ az และส่งกลับค่าตัวเลขที่เทียบเท่ากัน ตัวอย่างเช่นผลลัพธ์อาจมีลักษณะดังต่อไปนี้:
scarlet$ Please type a character between A and Z or between a and z:
scarlet$ A
scarlet$ The decimal value of A is: 65
ความพยายามของฉัน:
#!/bin/bash
echo Enter a letter:
read A
echo -n ${A} | od -i | head -1 | cut -b 10- | tr -d " "
echo -n A
ทำสิ่งที่คุณคาดหวัง? ถ้าไม่ลองprintf
แทน ไม่od -i
ทำสิ่งที่คุณคาดหวัง? od -t d1
ถ้าไม่ได้ลอง