ฉันขอแนะนำให้คุณใช้ตัวคั่นชื่อตัวแปร ดังนั้นรหัสจะมีลักษณะดังนี้:
#!/bin/sh
# $0 is the script name, $1 id the first ARG, $2 is second...
NAME="$1"
mxmlc ${NAME}.as
flashplayerdebugger ${NAME}.sw
สิ่งนี้อนุญาตให้ใช้ตัวแปรในบริบทใด ๆ แม้แต่ในข้อความอื่น ตัวอย่างเช่น:
NewName="myFileIs${NAME}and that is all"
นี่จะขยายตัวแปร NAME ซึ่งจะถูกขนาบข้างด้วย "myFileIs" และที่ด้านหลังด้วย "และนั่นคือทั้งหมด" ตัวแปรจะขยายช่องว่างรวมอยู่ภายในสตริง ถ้า NAME คือ "ข้างในที่นี่" NewName จะเป็น "myFileIsinside ที่นี่และนั่นคือทั้งหมด"
บรรทัดคำสั่งสามารถรับตัวแปรได้สูงสุด 9 ตัว พวกเขาสามารถเป็นสตริงที่ยกมาซึ่งมีช่องว่างแต่ละสตริงที่ยกมานับเป็นตัวแปร เช่น:
./myProg var1 var 2 var3
ดังนั้น${1}
เป็น"var1"
, ${2}
ถูก"var"
, ${3}
ถูก"2"
, ${4}
ถูก"var3"
แต่:
./myProg var1 "var 2" var3
มี${1}
เป็น"var1"
, ${2}
คือ"var 2"
, ${3}
เป็น"var3"
มีความสุข!
$2
คืออาร์กิวเมนต์แรก$3
อันดับที่สองเป็นต้น$1
สงวนไว้สำหรับชื่อไฟล์ สำหรับสิ่งอื่น ๆ ฉันไม่เข้าใจความหมายของคุณ คุณกรุณาอธิบายให้ดีขึ้นหน่อยหรือเขียนรหัสบางอย่างได้ไหม