このように始まるスクリプトがあります
#!/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"。