Latest web development tutorials
×

Linux หลักสูตร

Linux หลักสูตร Linux แนะนำโดยย่อ Linux ติดตั้ง Linux ขั้นตอนการเริ่มต้นระบบ Linux โครงสร้างไดเรกทอรีระบบ Linux วิธีการแก้ปัญหาลืมรหัสผ่านของคุณ Linux เข้าสู่ระบบจากระยะไกล Linux แอตทริบิวต์แฟ้มพื้นฐาน Linux ไฟล์และไดเรกทอรีการจัดการ Linux ผู้ใช้และการจัดการกลุ่มผู้ใช้ Linux การจัดการดิสก์ Linux vi/vim Linux yum คำสั่ง

Shell หลักสูตร

Shell หลักสูตร Shell ตัวแปร Shell ผ่านพารามิเตอร์ Shell ? อาร์เรย์ Shell ผู้ประกอบการ Shell echo คำสั่ง Shell printf คำสั่ง Shell test คำสั่ง Shell การควบคุมกระบวนการ Shell ฟังก์ชัน Shell Input / output เปลี่ยนเส้นทาง Shell ไฟล์มี

Linux คู่มืออ้างอิง

Linux คำสั่ง Daquan Nginx การติดตั้งและการกำหนดค่า MySQL การติดตั้งและการกำหนดค่า

พารามิเตอร์ผ่านเชลล์

เราสามารถในการดำเนินงานของเชลล์สคริปต์เพื่อส่งผ่านพารามิเตอร์สคริปต์สคริปต์ใช้พารามิเตอร์ภายในรูปแบบ: $ nn แทนหมายเลข 1 สำหรับการดำเนินการครั้งแรกของพารามิเตอร์สคริปต์ 2 สำหรับพารามิเตอร์ที่สองที่จะรันสคริปต์และอื่น ๆ ......

ตัวอย่าง

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

#!/bin/bash
# author:本教程
# url:www.w3big.com

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

ตั้งค่าสิทธิ์การปฏิบัติการเพื่อสคริปต์และรันสคริปต์เอาท์พุทจะเป็นดังนี้:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

นอกจากนี้ยังมีตัวแปรหลายที่จะจัดการกับตัวอักษรพิเศษ:

จัดการพารามิเตอร์ คำอธิบาย
$ # จำนวนพารามิเตอร์ที่ส่งผ่านไปยังสคริปต์
$ * ในการแสดงสายเดียวพารามิเตอร์ทั้งหมดส่งผ่านไปยังสคริปต์
เช่น "$ *" ด้วย "" "กรณีปิดล้อมรูปแบบของ" $ 1 $ 2 ... $ n "การส่งออกของพารามิเตอร์ทั้งหมด
$$ จำนวนกระบวนการ ID ปัจจุบันของสคริปต์
$ สุดท้ายกระบวนการทำงานในหมายเลข ID พื้นหลัง
$ @ * $ ด้วยเหมือนกัน แต่เมื่อคุณใช้เครื่องหมายคำพูดและผลตอบแทนแต่ละพารามิเตอร์ในเครื่องหมายคำพูด
เช่น "$ @" กับ "" "กรณีปิดล้อมรูปแบบของ" $ 1 "" $ 2 " ... " $ n "การส่งออกของพารามิเตอร์ทั้งหมด
$ - เชลล์แสดงตัวเลือกในปัจจุบันการใช้งานและ ตั้งค่าคำสั่ง ฟังก์ชันเดียวกัน
$? แสดงสถานะทางออกของคำสั่งสุดท้าย 0 บ่งชี้ว่าไม่มีข้อผิดพลาดและความคุ้มค่าอื่น ๆ ที่แสดงให้เห็นข้อผิดพลาด
#!/bin/bash
# author:本教程
# url:www.w3big.com

echo "Shell 传递参数实例!";
echo "第一个参数为:$1";

echo "参数个数为:$#";
echo "传递的参数作为一个字符串显示:$*";

รันสคริปต์เอาท์พุทจะเป็นดังนี้:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
第一个参数为:1
参数个数为:3
传递的参数作为一个字符串显示:1 2 3

* $ และ $ @ แตกต่าง:

  • จุดเดียวกัน: อ้างอิงถึงพารามิเตอร์ทั้งหมด
  • แตกต่าง: สะท้อนให้เห็นเฉพาะในราคาคู่ สมมติว่าสคริปต์ที่ทำงานเมื่อเขียนสามพารามิเตอร์ 1,2,3 ,, "*" เทียบเท่ากับ "123" (ผ่านพารามิเตอร์) และ "@" เทียบเท่ากับ "1", "2", " 3 "(ผ่านสามพารามิเตอร์)
#!/bin/bash
# author:本教程
# url:www.w3big.com

echo "-- \$* 演示 ---"
for i in "$*"; do
    echo $i
done

echo "-- \$@ 演示 ---"
for i in "$@"; do
    echo $i
done

รันสคริปต์เอาท์พุทจะเป็นดังนี้:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
-- $* 演示 ---
1 2 3
-- $@ 演示 ---
1
2
3