このように始まるスクリプトがあります
#!/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 2013年
~
きちんと拡大しないことと関係があると思います。意図的に偽のパスでスクリプトを実行すると、エラーはとは表示されず~
、パスが拡張されます。~
スクリプトのを絶対パスに置き換えてみてください。また、スクリプトで次のコマンドを実行してみてくださいecho ~
。
の
—
Sparhawk 2013年
$HOME
代わりに試すこともでき~
ます。
@コイそれはそれを説明します。
—
ゲイラ2013年
~/.pam_environment
はシェルスクリプトではないため、チルダ展開やパラメータ展開など、シェルに期待される一般的なことは行わないため、どちら~
も$HOME
置き換えられません。~/.profile
代わりにその行を移動しexport
、前に追加すると、機能するはずです。
source "${VALKYRIE}/cluster.conf"
。