OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

system から得た情報を変数に入れる方法

  • すぐに回答を!
  • 質問No.104506
  • 閲覧数83
  • ありがとう数1
  • 気になる数1
  • 回答数1
  • コメント数0

お礼率 14% (2/14)

system から得た情報を変数に入れるには、どうしたらよいでしょうか。

$ls = system("ls -l");
これをスクリプトの中に置いてコマンドライン上から実行すると、そのまま、lsの結果が表示されてしまいました。

$ls は 0 を返します。

どうしたらよいのでしょうか。
通報する
  • 回答数1
  • 気になる1
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 40% (237/589)

OS環境が書かれていないのでちょっと自信ありませんが、
Windows 用の ActivePerl と Jperl で確認しました。
----------
system() を使わずに、
  $ls = `ls -l`; (←逆シングルクオートで囲む)
というのはどうでしょう?
これで、ls -l の結果を $ls に入れることができます。

ただし、最後の改行もそのまま入ってくるので、これを取り除きたい
場合は、
  chop ($ls = `ls -l`);
とすれば、うまくいきます。

コマンド実行の結果(正常/異常)も知りたい場合は、
この後で $? 変数を参照すればいいでしょう。試しに

  chop ($ls = `ls -l`);    ←パスをいろいろ変えてみて…
  print "---\n",$ls,"---\n";
  print "Status $?\n";

で、やってみて下さい。
お礼コメント
tol

お礼率 14% (2/14)

うまく値を得ることができました。
ありがとうございます。
とても助かりました。
投稿日時 - 2001-07-15 07:16:42
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ