วิธีเพิ่มการส่งออกไปยังปลาเช่นใน. bashrc


50

ฉันแค่อยากที่จะเพิ่มเข้าไปในไฟล์กำหนดค่าของ Fish (ไม่รู้ว่า / ที่ไหน) ฟังก์ชั่นแบบเดียวกันกับที่:

export PERL5LIB=/home/iaco/workspace/perl:/home/iaco/devtools

บรรทัดนี้ถูกเพิ่มเข้าไปในไฟล์. bashrc และสามารถส่งออกตัวแปรได้ทุกครั้งที่เปิดเทอร์มินัล

มีอะไรแบบนั้นสำหรับปลาเหรอ? ฉันรู้ว่าฉันสามารถส่งออกตัวแปรปลาโดยใช้คำสั่ง "set" แต่ฉันต้องการแก้ไขไฟล์หนึ่งไฟล์ (ไม่รู้ว่าอันไหน) เพื่อเพิ่มตัวแปรเหล่านั้นโดยอัตโนมัติทุกครั้งที่ฉันเปิด Fish Terminal

ขอบคุณที่สละเวลา!

คำตอบ:


50

~/.config/fish/config.fishคุณสามารถใส่การกำหนดค่าปลาเฉพาะของผู้ใช้รวมถึงชุดคำสั่งใน เนื้อหาควรมีลักษณะมากหรือน้อยเช่นนั้น

set -x PERL5LIB /home/iaco/workspace/perl:/home/iaco/devtools

ข้อมูลเพิ่มเติมสามารถพบได้ในเอกสาร


ขอบคุณอดัม วัตถุประสงค์หลักของการเปลี่ยนแปลงนี้คือการสามารถรวมไว้ใน Perl @inc เส้นทางของห้องสมุดท้องถิ่นของฉัน หลังจากเพิ่มบรรทัดที่คุณแนะนำการส่งออกได้ถูกต้อง! แต่ถ้าฉันใช้ perl -VI จะไม่เห็นเส้นทางใหม่ ฉันรู้ว่านี่เป็นคำถาม Perl มากกว่าปลา แต่ฉันแค่อยากรู้ว่าคุณ (หรือคนอื่น) มีความคิด

ฉันควรจะพูดถึง-xธง ฉันเพิ่งอัปเดตคำตอบและคุณสามารถอ่านเพิ่มเติมเกี่ยวกับสิ่งนั้นได้ในหัวข้อ "การส่งออกตัวแปร" ในเอกสารประกอบ
Adam Byrtek

1
เว็บไซต์ปลาหลักไม่ทำงาน แต่เอกสารจากส้อมปลาอยู่ที่ridiculousfish.com/shell/user_doc/html/commands.html#set (ฉันถือว่ามันเหมือนกัน)
Daniel James

ปลามีการเข้าถึงตัวแปรด้านสิ่งแวดล้อมเช่น $ PATH หรือไม่?
อนุญาต

@ แรนต์ใช่$PATHฯลฯ สามารถใช้ในปลารวมถึงใน config.fish
Scribblemacher

19

ใช้ตัวแปรสากลที่นำมาใช้ในปลา 2.0.0 -xหมายถึงการส่งออกและ-Uหมายความว่ามันถูกประกาศสำหรับทุกเซสชั่นปลา นอกจากนี้คุณยังสามารถใช้ตัวเลือกยาวและ--export--universal

set -xU PERL5LIB /home/iaco/workspace/perl:/home/iaco/devtools

โปรดทราบว่าPATHตัวแปรเป็นกรณีพิเศษเล็กน้อย ในขณะที่PATHสามารถเปลี่ยนแปลงได้ในระดับสากลสิ่งนี้จะส่งผลต่อตัวแปร PATH ปัจจุบันของคุณ (ซึ่งอาจเป็นปัญหาเล็กน้อยหากมีการแนะนำเส้นทางเพิ่มเติมโดยระบบปฏิบัติการ) สำหรับPATHตัวแปรใช้fish_user_pathsตัวแปร (ซึ่งเพิ่มเส้นทางเท่านั้น) แทน ตัวแปรคืออาร์เรย์ซึ่งหมายความว่าคุณไม่ต้องใส่:อักขระ

set -U fish_user_paths /home/iaco/workspace/perl/share/bin /home/iaco/bin $fish_user_paths

ใช่คุณถูก!
Nishant
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.