บรรทัดนั้นในของคุณ.profile
ควรเป็นหนึ่งในนั้น
export PATH="$PATH:$HOME/Unix/homebrew/bin"
PATH="$PATH:$HOME/Unix/homebrew/bin"
PATH=$PATH:$HOME/Unix/homebrew/bin
PATH=$PATH:~/Unix/homebrew/bin
~
ตัวละครที่มีการขยายเท่านั้นที่จะไดเรกทอรีบ้านของคุณเมื่อมันตัวอักษรตัวแรกของคำและมันเป็น unquoted ในสิ่งที่คุณเขียนนั้น~
อยู่ระหว่างเครื่องหมายคำพูดคู่และจึงไม่ขยาย แม้ว่าคุณจะเขียนexport "PATH=$PATH:"~/Unix/homebrew/bin
สิ่ง~
นั้นจะไม่ถูกขยายเพราะมันไม่ได้อยู่ที่จุดเริ่มต้นของคำว่าเชลล์
มีการแจกจ่ายพิเศษซึ่งมีวัตถุประสงค์เพื่อเขียนค่าสำหรับPATH
และตัวแปรที่คล้ายกัน หาก~
อยู่หลังเครื่องหมายเท่ากับที่ทำเครื่องหมายการมอบหมายหรือหาก~
อยู่หลัง:
ทางด้านขวามือของการมอบหมายก็จะขยายออก เฉพาะการมอบหมายธรรมดาเท่านั้นที่มีการแจกจ่ายexport PATH=…
นี้ไม่นับ (เป็นการเรียกไปยังexport
builtin ซึ่งมีอาร์กิวเมนต์ที่มี=
อักขระ)
ที่นี่คุณไม่จำเป็นต้องส่งออกPATH
เพราะส่งออกแล้ว คุณไม่จำเป็นต้องโทรหาexport
เมื่อคุณเปลี่ยนค่าของตัวแปร (ยกเว้นเชลล์เชลล์เก่าที่คุณจะไม่พบใน OSX หรือ Linux) นอกจากนี้ในการมอบหมายงาน ( export
ไม่นับอีกครั้ง) คุณไม่จำเป็นต้องใช้เครื่องหมายคำพูดคู่ล้อมรอบด้านขวามือดังนั้นจึงPATH=$PATH:~/Unix/homebrew/bin
ปลอดภัยแม้ว่าจะ$PATH
มีช่องว่าง
which
ไม่ผิดที่นี่; ควรจะได้รับการขยายตัวในความหมายของ~
PATH
มีความผิดปกติในการทุบตีว่ามันขยายตัว~
ต่อไปPATH
ดังนั้นความผิดสองอย่างจึงทำให้ถูกต้อง