トップ回答者
スクリプトで$errorの値を変数へと格納したい。

質問
回答
-
どのようなスクリプトかわからないので、
まとはずれかもですが・・・
例外など terminating error が発生してスクリプトが途中で中断していませんか?
trap を定義しているでしょうか。
あるいはスクリプト終了後にスクリプト外で $test にアクセスしているとして
変数スコープの問題でその $test は書きこまれた $test とは違う $test かもしれません。
スクリプトはどうやって起動しているでしょう。
すなおに起動するとスクリプト内の変数はコンソールからは見えません。
ドットソーシングで
. ./hoge.ps1
などと起動するとスクリプト終了後も残存します。
という2点が気になります。- 回答としてマーク 服部清次 2009年4月9日 1:37
-
自分の環境で、下記のようにして実験してみました。
1)コンソール上でわざとエラーを発生させる。
たとえばPS> a[Enter]<br/> 用語 'a' は、コマンドレット、関数、操作可能なプログラム、またはスクリプト ファイルとして認識されません。 用語を確認し、再試行してください。 発生場所 行:1 文字:1 + a <<<<
この時点で 自動変数 $error には上記のエラーメッセージが格納されている。
2) 下記スクリプトを test.ps1 として保存する
$test = $error
3)コンソールでスクリプトを実行する(kw-shingoさんが仰っているようにドットソーシングで実行)
PS> . ./test.ps1
4)$test 変数の内容を確認する
PS> $test[Enter]
上記手順で試したところ、$test変数にはきちんと $error の内容が代入されていました。
kw-shingoさんが仰っているように、途中で中断しているために代入されていない可能性もありますので、可能であれば、ソースを公開してみてはいかがでしょうか?- 編集済み HIROsDotNetMVP 2009年4月2日 13:39 見づらかったので修正
- 回答としてマーク 服部清次 2009年4月9日 1:37
すべての返信
-
どのようなスクリプトかわからないので、
まとはずれかもですが・・・
例外など terminating error が発生してスクリプトが途中で中断していませんか?
trap を定義しているでしょうか。
あるいはスクリプト終了後にスクリプト外で $test にアクセスしているとして
変数スコープの問題でその $test は書きこまれた $test とは違う $test かもしれません。
スクリプトはどうやって起動しているでしょう。
すなおに起動するとスクリプト内の変数はコンソールからは見えません。
ドットソーシングで
. ./hoge.ps1
などと起動するとスクリプト終了後も残存します。
という2点が気になります。- 回答としてマーク 服部清次 2009年4月9日 1:37
-
自分の環境で、下記のようにして実験してみました。
1)コンソール上でわざとエラーを発生させる。
たとえばPS> a[Enter]<br/> 用語 'a' は、コマンドレット、関数、操作可能なプログラム、またはスクリプト ファイルとして認識されません。 用語を確認し、再試行してください。 発生場所 行:1 文字:1 + a <<<<
この時点で 自動変数 $error には上記のエラーメッセージが格納されている。
2) 下記スクリプトを test.ps1 として保存する
$test = $error
3)コンソールでスクリプトを実行する(kw-shingoさんが仰っているようにドットソーシングで実行)
PS> . ./test.ps1
4)$test 変数の内容を確認する
PS> $test[Enter]
上記手順で試したところ、$test変数にはきちんと $error の内容が代入されていました。
kw-shingoさんが仰っているように、途中で中断しているために代入されていない可能性もありますので、可能であれば、ソースを公開してみてはいかがでしょうか?- 編集済み HIROsDotNetMVP 2009年4月2日 13:39 見づらかったので修正
- 回答としてマーク 服部清次 2009年4月9日 1:37
-
kakiage さん、
こんにちは!
フォーラム オペレーターの服部 清次です。
無事、問題が解決したとのことで何よりです!
今回、kw-shingo さんと HIROsDotNet さんが提供してくださった情報が問題解決につながったとのことですので、私の方で、お二方の回答に [回答としてマーク] のチェックを付けさせていただきました。
kakiage さんと同じ疑問を持たれた方がいらっしゃいましたら、ぜひこちらの情報を参照していただきたいと思いますので! (^^)
また何か疑問や質問がありましたら、ぜひ TechNet フォーラムに投稿してください。
これからも、よろしくお願いします。
それでは、また! (^_^)/
_____________________________________________
マイクロソフト株式会社 フォーラム オペレーター 服部 清次