ฉันจะสร้างฟังก์ชั่นที่ใช้ชื่อที่มีคำต่อท้ายจำนวนเต็มเป็นอาร์กิวเมนต์และเพิ่มคำต่อท้ายนี้ได้อย่างไร


1

ฉันต้องมีรหัสเพิ่มอาร์กิวเมนต์เช่น Brad_1 และทำให้เป็น Brad_2 ฉันไม่แน่ใจว่าจะทำเช่นนั้นเพราะอย่างใดอย่างหนึ่งเป็นจำนวนและอื่น ๆ ที่เป็นชื่อ

คำตอบ:


1

ฟังก์ชันนี้ยอมรับหนึ่งพารามิเตอร์ มันแยกสตริงและจำนวนออกจากกันโดยใช้เครื่องหมายขีดล่างจากนั้นพิมพ์สตริงกลับพร้อมจำนวนที่เพิ่มขึ้น:

function increment() { 
  local num=${1#*_}; 
  local str=${1%_*}; 
  printf "%s" "${str}_$((num+1))";
}

$ echo $(increment Brad_1)
Brad_2
$ echo $(increment Jeff_41)
Jeff_42
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.