$PATH にある ~/bin/ にあるスクリプトを作成しています。システムのどこからでもこのスクリプトを呼び出して (GNU/Linux ですが、これは問題ではありません)、現在のディレクトリの内容を読み取りたいと考えています。
残念ながら、スクリプトは常に ~/bin/ の内容、つまりスクリプト自体が配置されている場所を読み取ります。
例:
# pierre@autan: ~ < 2013_07_20__11_18_57 >
cat ~/bin/test.r
#!/usr/bin/rebol
rebol []
print what-dir
# pierre@autan: ~ < 2013_07_20__11_18_57 >
pwd
/home/pierre
# pierre@autan: ~ < 2013_07_20__11_18_57 >
test.r
/home/pierre/bin/
/usr/bin/rebol のインタープリターは Rebol2/view です。Rebol3 を使用した場合、結果は同じですが、~/bin/ シンボリック リンクが逆参照されるだけです。
# pierre@autan: ~ < 2013_07_20__11_18_57 >
cat ~/bin/test.r
#!/usr/bin/rebol3
rebol []
print what-dir
# pierre@autan: ~ < 2013_07_20__11_18_57 >
test.r
/home/pierre/heaume_pierre/bin_scripts/
# pierre@autan: ~ < 2013_07_20__11_18_57 >
ll | grep bin
lrwxrwxrwx 1 root root 26 déc. 29 2010 bin -> heaume_pierre/bin_scripts/
これで、コンソールから期待どおりに動作します。
# pierre@autan: ~ < 2013_07_20__11_18_57 >
rebol
>> print what-dir
/home/pierre/
ドキュメントを参照しましたが、役立つものは見つかりませんでした。
これを達成する方法を知っている人はいますか?これは、ある種のユーティリティを作成したい人にとって、非常に一般的な問題であることに注意してください。