Saya memiliki skrip yang dimulai seperti ini
#!/bin/bash
VALKYRIE=~/myProjects/valkyrie
source $VALKYRIE/cluster.conf
tetapi ketika saya menjalankannya ia kembali
line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory
tetapi file itu ada dan ketika saya menjalankannya source ~/myProjects/valkyrie/cluster.confberjalan dengan baik. Ada ide? Saya mengatur VALKYRIEvariabel di tempat lain sehingga hard-code di jalan bukanlah pilihan.
~tidak berkembang dengan baik. Ketika saya menjalankan skrip Anda dengan jalur yang sengaja dibuat-buat, kesalahannya tidak mengatakan ~, tetapi memperluas jalurnya. Bisakah Anda mencoba mengganti ~dalam skrip Anda dengan jalur absolut? Coba juga menjalankan yang berikut ini dalam sebuah skrip echo ~.
$HOMEbukan ~.
~/.pam_environmentbukan skrip shell, jadi ia tidak melakukan hal-hal umum yang Anda harapkan dari shell, seperti ekspansi tilde dan ekspansi parameter, jadi tidak ~juga tidak $HOMEakan diganti. Jika Anda memindahkan baris itu ~/.profilesebagai gantinya, dan menambahkan export di depan, itu akan berfungsi.
source "${VALKYRIE}/cluster.conf",.