Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

สคริปต์ทุบตีตั้งค่าตัวแปรสิ่งแวดล้อมด้วยการส่งออก [HowTo]

บทช่วยสอนนี้จะแสดงวิธีตั้งค่าตัวแปรสภาพแวดล้อมในสคริปต์ Bash/Shell โดยใช้คีย์เวิร์ดสำหรับส่งออก

โดยทั่วไป ตัวแปรที่ประกาศในสคริปต์ Bash/Shell จะมีอยู่ภายในขอบเขตของสคริปต์ Bash/Shell ที่รันอยู่เท่านั้น

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

คีย์เวิร์ดที่ส่งออกทำสิ่งนี้ – นี่คือวิธีใช้งาน

ตัวแปรสิ่งแวดล้อมคืออะไร

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

ระบบของคุณกำหนดตัวแปรสภาพแวดล้อมไว้หลายตัวแล้ว ตัวอย่างเช่น โฮมไดเร็กทอรีของคุณพร้อมใช้งานโดยการอ่านตัวแปรสภาพแวดล้อม $HOME .

คุณสามารถดูตัวแปรสภาพแวดล้อมที่ตั้งไว้ทั้งหมดในปัจจุบันได้ด้วยคำสั่ง env:

env

ตั้งค่าตัวแปรสิ่งแวดล้อมด้วย ส่งออก

สคริปต์ต่อไปนี้ testScript.sh, ตั้งค่าตัวแปรสภาพแวดล้อมแล้วออก:

#!/bin/bash
export MY_ENV_VAR="Save the environment!"

ตอนนี้ เมื่อสคริปต์ด้านบนทำงาน:

sh ./testScript.sh

ตัวแปร MY_ENV_VAR จะพร้อมใช้งานหลังจากเสร็จสิ้น สิ่งนี้สามารถยืนยันได้โดยการเรียกใช้:

เสียงสะท้อน $MY_ENV_VAR

ตั้งค่าตัวแปรสภาพแวดล้อมแล้วและพร้อมใช้งานทั่วทั้งระบบ .

ที่ printenv คำสั่งยังสามารถใช้เพื่อดูตัวแปรสภาพแวดล้อม

printenv MY_ENV_VAR

ยังคงอยู่หลังจากรีบูต

ตัวแปรด้านสิ่งแวดล้อมกำหนดด้วย ส่งออก จะไม่ยืนยันการรีบูตเครื่องคอมพิวเตอร์ของคุณ หากต้องการตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวร จะต้องประกาศตัวแปรใน ~/.bashrc ไฟล์.

ไฟล์ ~/.bashrc file เป็นสคริปต์ที่ทำงานทุกครั้งที่คุณเข้าสู่ระบบ โดยเพิ่ม export . ของคุณ คำสั่งดังกล่าว ตัวแปรสภาพแวดล้อมของคุณจะถูกเพิ่มในแต่ละเซสชันที่คุณเข้าสู่ระบบ

nano ~/.bashrc

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

export MY_ENV_VAR="Save the environment!"

ตัวแปรสภาพแวดล้อมทั้งระบบ

ตัวแปรสภาพแวดล้อมเหล่านี้จะอยู่ที่นั่นสำหรับผู้ใช้ปัจจุบัน .เท่านั้น . หากคุณเป็นผู้ดูแลระบบและต้องการให้ผู้ใช้และกระบวนการทั้งหมดใช้งานได้ ให้เพิ่มบรรทัดใน /etc/environment ไฟล์แทน:

sudo nano /etc/environment