ฉันมีสคริปต์ที่เริ่มต้นเช่นนี้
#!/bin/bash
VALKYRIE=~/myProjects/valkyrie
source $VALKYRIE/cluster.conf
แต่เมื่อฉันเรียกใช้มันกลับมา
line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory
แต่มีไฟล์อยู่และเมื่อฉันรันsource ~/myProjects/valkyrie/cluster.confมันก็ทำงานได้ดี ความคิดใด ๆ ฉันตั้งค่าVALKYRIEตัวแปรไว้ที่อื่นดังนั้นรหัสยากในเส้นทางไม่ใช่ตัวเลือก
ไม่ช่วยไม่ได้
—
Khoi
ฉันคิดว่ามันเป็นเรื่องเกี่ยวกับ
—
Sparhawk
~การขยายตัวไม่ถูกต้อง เมื่อฉันเรียกใช้สคริปต์ของคุณด้วยเส้นทางปลอมโดยเจตนาข้อผิดพลาดจะไม่พูด~แต่จะขยายเส้นทาง คุณสามารถลองแทนที่~สคริปต์ของคุณด้วยเส้นทางที่แน่นอนได้หรือไม่? echo ~ยังพยายามทำงานต่อไปในสคริปต์
คุณสามารถลอง
—
Sparhawk
$HOMEแทน~ได้
@ Khoi นั่นอธิบายได้
—
geirha
~/.pam_environmentไม่ได้เป็นสคริปต์เปลือกจึงไม่ได้ทำสิ่งที่พบที่คุณคาดหวังจากเปลือกเช่นการขยายตัวหนอนและการขยายตัวพารามิเตอร์ดังนั้นค่า~มิได้$HOMEจะถูกแทนที่ หากคุณย้ายบรรทัดนั้นไปที่~/.profileแทนและเพิ่มexport ไว้ด้านหน้ามันควรจะทำงานได้
source "${VALKYRIE}/cluster.conf".