- - PR -
system関数の引数で相対パスは利用できるか?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-17 18:18
Solaris8環境下で、シェルからperlで作成したPGを
起動させています。 そのperlの中でsystem関数を利用し、別のシェルを 起動させたいのですが、system関数の引数として、 相対パスを記述させたい(メンテナンス性向上の為) が、絶対パスで記述しないと起動しません。 そもそもsystem関数の引数で相対パスは利用できる のでしょうか? 【perlの記述】 ○絶対パス [perl PG] system('/usr/local/dwh/run.sh'); ×相対パス [起動シェル] BASE=/usr/local/dwh; $BASE/perl/jnl.pl -f $JNL -R $TIMER -B $BASE; [perl PG] use vars qw($opt_f $opt_R $opt_B); ・・・ my $BASE = $opt_B; ・・・ system('$BASE/run.sh'); | ||||
|
投稿日時: 2006-01-17 19:22
これのどこが相対パスなの? 結合した時にフルパスになってると思うけど。 $BASEの値は確認した? | ||||
|
投稿日時: 2006-01-18 01:00
単に、シングルクォートとダブルクォートの間違いでは?
| ||||
|
投稿日時: 2006-01-18 10:07
coasmさん、ぶさいくろうさん
早速の返答ありがとうございました。 coasmさんのご指摘の通り、’を”に変更しましたら、うまく行きました! ’では文字列と認識されるんですね?勉強になりました。 ありがとうございました。 |
1