Android

คำสั่ง Bash source

Bash Scripting : Source and Fork your Scripts

Bash Scripting : Source and Fork your Scripts

สารบัญ:

Anonim

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

source เป็นเชลล์ที่สร้างขึ้นใน Bash และเชลล์ยอดนิยมอื่น ๆ ที่ใช้ในระบบปฏิบัติการ Linux และ UNIX พฤติกรรมของมันอาจจะแตกต่างจากเปลือกหอยเล็กน้อย

ไวยากรณ์คำสั่งแหล่งที่มา

ไวยากรณ์สำหรับคำสั่ง source เป็นดังนี้:

source FILENAME. FILENAME

  • source และ (จุด) เป็นคำสั่งเดียวกันหาก FILENAME ไม่ใช่เส้นทางแบบเต็มไปยังไฟล์คำสั่งจะค้นหาไฟล์ในไดเรกทอรีที่ระบุในตัวแปรสภาพแวดล้อม $PATH หากไม่พบไฟล์ใน $PATH คำสั่งจะค้นหาไฟล์ในไดเรกทอรีปัจจุบันหากกำหนด ARGUMENTS ไว้จะกลายเป็นพารามิเตอร์ตำแหน่งให้กับ FILENAME หาก FILENAME มีรหัสทางออกของคำสั่ง source คือ 0 มิฉะนั้น หากไม่พบไฟล์มันจะส่งคืน 1

ตัวอย่างคำสั่งแหล่งที่มา

ในส่วนนี้เราจะดูตัวอย่างพื้นฐานของวิธีการใช้คำสั่ง source

ฟังก์ชั่นการจัดหา

ในตัวอย่างนี้เราจะสร้างไฟล์ที่มีฟังก์ชั่นทุบตีที่ตรวจสอบว่าผู้ใช้ที่เรียกใช้สคริปต์เป็นรูทหรือไม่และจะแสดงข้อความและออกจากสคริปต์

functions.sh

check_root () { if]; then echo "This script must be run as root" exit 1 fi }

ตอนนี้ในแต่ละสคริปต์ของคุณที่จำเป็นต้องรันโดยผู้ใช้รูทเพียงแค่ส่งไฟล์ functions.sh และเรียกใช้ฟังก์ชัน:

#!/usr/bin/env bash source functions.sh check_root echo "I am root"

ข้อดีของวิธีนี้คือสคริปต์ของคุณจะเล็กลงและอ่านง่ายขึ้นคุณสามารถใช้ไฟล์ฟังก์ชั่นเดิมซ้ำได้ทุกเมื่อที่ต้องการและในกรณีที่คุณต้องการแก้ไขฟังก์ชั่นที่คุณจะแก้ไขไฟล์เดียว

ไฟล์ Bash Configuration

ด้วยคำสั่ง source คุณสามารถอ่านตัวแปรจากไฟล์ได้ ตัวแปรต้องถูกตั้งค่าโดยใช้ไวยากรณ์ Bash คือ VARIABLE=VALUE

มาสร้างไฟล์กำหนดค่าทดสอบ:

config.sh

VAR1="foo" VAR2="bar"

ใน bash script ของคุณใช้คำสั่ง source เพื่ออ่านไฟล์กำหนดค่า:

#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"

VAR1 is foo VAR2 is bar

ข้อสรุป

ในคู่มือนี้คุณได้เรียนรู้วิธีใช้คำสั่ง source builtin ในเชลล์สคริปต์ของคุณ

bash terminal