C#を書かずに、またはWindowsボックスに入っていないものを使用せずに、スクリプト内に名前空間または「プロバイダ」を作成するにはどうすればよいですか? - 別の言い方をすれば、私はスクリプトから変数を参照することはできますか?私は、生成されたPoSHスクリプトをドットソース化するときに衝突を避けたい。 Set-Variableコマンドレットは、次に参照する場所に関する手がかりを与えません。おそらく、すべてのフレームワークが実行されたプロバイダを作成するためのコマンドレットがありますか?私が定義するすべての値を追跡するために "グローバル"(ick)変数リストを使用している瞬間、基本的にライブラリを構築しようとしています。この場合、ライブラリはデータ値/定数を提供します。Powershellのネームスペースのグローバル制限を破る
1
A
答えて
2
呼び出されたスクリプト内で$ myinvocationをチェックすると、スクリプト名を見つけることができます。
変数リストをハッシュテーブルのハッシュテーブルにすることで、メインスクリプトに一種の擬似名前空間を実装した後、各値がメインスクリプトで$ vars.scriptname.scriptvariable 。
関連する問題
- 1. MySQLが1024バイトのインデックス制限を破る
- 2. XmlSerializerとXmlAnyElementの制御ネームスペース
- 3. カスタムコマンドレットで制限されたPowershellをホストする
- 4. グローバルなJavascriptのネームスペースを汚染するGWT
- 5. Perlでのグローバル破壊の検出
- 6. DLLのグローバル変数の使用に関する制限(Windowsの場合)
- 7. クリック数の制限、制限、無効化
- 8. が無制限のメモリ制限
- 9. ユーザーあたりのカール制限を制限する
- 10. iOSでUIScrollviewのバウンド制限を制限する
- 11. ビジュアルCにグローバル変数のサイズ制限の回避策がありますか?
- 12. フュージョンテーブルの制限
- 13. データベースクエリの制限
- 14. MySQLの制限
- 15. Twitterの制限
- 16. phpOCRの制限
- 17. ジオコーダーの制限
- 18. AndroidManifestの制限
- 19. ステージングサーバーの制限
- 20. EAGLViewの制限
- 21. PowerShellでグローバル変数を使用する最良の方法は?
- 22. MySQLテーブルの一意制約を破棄
- 23. SQLの制限の合計と制限の列
- 24. MySQLのダンプ制限? MySQL全体のデータベースサイズの制限?
- 25. amazon s3を制限して予算を制限する
- 26. PHPのメモリ制限
- 27. Iosランタイムメモリの制限
- 28. 制限AppDomainのアセンブリ
- 29. XSDのHexBinary制限
- 30. マニフェストファイルのダウンロードサイズ制限
私はあなたの思考@mjolinorが好きです。私はハッシュテーブルの専門家ではなく、プロバイダーがネームスペースとして扱うかのような仕組みを見つけたり、ハッシュテーブルを使うことを望んでいます。 私はPythonでPoSHを生成していますので、ドットソースファイルをハッシュのハッシュに変換し、後者の効果を試すことができます。 –
このシナリオでハッシュテーブルを使用する利点の1つは、親スコープのハッシュテーブルに要素を追加するときに明示的にスコープを設定する必要がないことです。 – mjolinor
他にも、呼び出されたスクリプトのhere-stringを使用して値と定数を入力し、それらの値をメインスクリプトに戻すときにconvertfrom-stringdataを使用してハッシュテーブルに変換することを検討してください。 – mjolinor