[解決済み] 実行中のPerlスクリプトのフルパスを取得する方法を教えてください。
2022-04-22 13:25:36
質問
Perlスクリプトがあり、実行中にスクリプトのフルパスとファイル名を決定する必要があります。スクリプトをどのように呼び出すかによって
$0
は様々で、時には
fullpath+filename
のみで、時には
filename
. 作業ディレクトリも同様に変化することがあるため、確実に
fullpath+filename
スクリプトの
どなたか解決策をご存知ですか?
解決方法は?
いくつかの方法があります。
-
$0
は POSIX が提供する現在実行中のスクリプトで、スクリプトが CWD 以下にある場合は現在の作業ディレクトリからの相対パスです。 -
さらに
cwd()
,getcwd()
とabs_path()
が提供するCwd
モジュールで、スクリプトがどこから実行されるかを教えてくれます。 -
モジュール
FindBin
は$Bin
&です。$RealBin
という変数があります。 通常 は実行中のスクリプトへのパスです。$Script
&です。$RealScript
は、スクリプトの名前です。 -
__FILE__
は、Perl インタープリタがコンパイル時に扱う実際のファイルで、フルパスも含まれます。
私は、最初の3つ(
$0
は、その
Cwd
モジュールと
FindBin
モジュール) の下で失敗します。
mod_perl
のような無価値な出力を生成します。
'.'
または空文字列です。 このような環境では、私は
__FILE__
を使い、そこからパスを取得します。
File::Basename
モジュールを使用します。
use File::Basename;
my $dirname = dirname(__FILE__);
関連
-
Perl List::Util モジュールの使用例
-
Windows の Thumbs.db から画像キャッシュのサムネイルを削除する Perl
-
Perlのコマンドラインプログラミングでよく使われるパラメータを1文にまとめたもの
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] Pythonでファイルの絶対パスを取得する方法
-
[解決済み] ファイルのフルパスを取得する方法は?
-
[解決済み] Perlからロケール設定の警告を修正する方法
-
[解決済み] Bashで現在の作業ディレクトリをスクリプトのディレクトリに設定するにはどうすればよいですか?
-
[解決済み] 実行中のJARファイルのパスを取得する方法は?
-
[解決済み] Pythonインタプリタのフルパスを検索しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン