วิธีที่เหมาะที่สุดในการสลับรายการในตัวแปรสภาพแวดล้อม $ PATH คืออะไร


1

ใน Linux และ / หรือ Mac OSX เป็นวิธีที่ดีที่สุดในการย้ายรายการในตัวแปรสภาพแวดล้อม $ PATH ไปยังด้านหน้าของค่าดังนี้:

/ foo / บาร์: / หนึ่ง / สอง / สาม / opt / local / bin / home / ผู้ใช้ / bin

กลายเป็น

/ home / ผู้ใช้ / bin: / foo / บาร์: / หนึ่ง / สอง / สาม / opt / local / bin

ขณะนี้ฉันใช้ sed เพื่อทำสิ่งนี้ แต่อยากรู้ว่ามีวิธีแก้ปัญหาที่ง่ายกว่านี้หรือไม่

คำตอบ:


1

ฉันเชื่อว่านี่เป็นวิธีที่ง่ายที่สุด:

awk 'BEGIN{FS=OFS=":"}{print $4,$1,$2,$3}' <<< $PATH

0

อย่างรวดเร็วคุณสามารถเขียน:

dir=/home/user/bin
PATH=$dir:${PATH//:$dir/}

หากคุณมีสิ่งที่ชอบ

PATH=/first:/second:/home/user/bin/subdir:/home/user/bin

ถ้าเช่นนั้นจะแข็งแกร่งกว่านี้:

tmp=":$PATH:"
tmp=$dir${tmp//:$dir:/:}
PATH=${tmp%:}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.