2015-04-06 39 views
1

我正在使用azure powershell ISE。我有一個非常長的腳本來運行我正在使用變量來存儲數據,並進一步我在我的代碼中使用它們。問題是我無法一次運行該腳本,原因是執行不是一行一行。有時它試圖在變量被賦值之前執行一個命令。它會引發錯誤。Azure Powershell ISE執行查詢

我想使用PowerShell ISE運行200行代碼中有30個變量。例如。問題是 -

Get-azurevm -servicename $a -vmname $b

是越來越之前$ A = XXX $ B = YYY執行越來越initialized.I已經使用之前進行初始化我的變量,但我想執行的方式是不是逐行。

可能的解決方案是什麼?

有沒有我可以一行一行地執行的選項?

+0

我不明白你的意思。你不能在代碼中設置斷點嗎? – 2015-04-07 02:20:07

+0

我想使用PowerShell ISE一次運行200行代碼,其中包含30個變量。例如。問題是 - Get-azurevm -servicename $ a -vmname $ b在$ a = xxx $ b = yyy獲得初始化之前得到執行。我在使用前初始化了我的變量,但我猜測執行時尚並不是一行一行。希望我現在清楚 – Atf 2015-04-07 05:09:32

+2

如果執行PowerShell腳本,它將自上而下執行(PowerShell ISE中沒有區別,如果您使用Run Script,而不是Run Selection),除非您使用的是類似goto,if/else的內容,請嘗試/ catch等。另外檢查你是不是在腳本塊中聲明變量。在腳本塊之外,變量不存在。沒有看到劇本就很難猜出問題所在。 – 2015-04-07 09:41:56

回答

1

Azure PS執行始終是逐行的。如果發生這種情況,您可以將代碼分解爲函數,並且只有先前的代碼已經執行完畢,才能執行所需的代碼。如果您有長碼,使用模塊總是很好。你

也可以使用 -

start-sleep -s "no. of seconds to give other code to execute" 

的代碼執行,這需要一點時間更長。

+1

我不知道這是怎麼回事,我從未想過。這真的很有幫助,我完全忘記了PowerShell中的函數 – Atf 2015-04-27 09:58:36