DSC for Linux nxScript 資源
PowerShell 預期狀態設定 (DSC) 的 nxScript 資源會提供一個機制,在 Linux 節點上執行 Linux 指令碼。
語法
nxScript <string> #ResourceName
{
GetScript = <string>
SetScript = <string>
TestScript = <string>
[ User = <string> ]
[ Group = <string> ]
[ DependsOn = <string[]> ]
}
屬性
屬性 | 描述 |
---|---|
GetScript | 提供指令碼以傳回機器目前狀態。 當您叫用 GetDscConfiguration.py \(英文\) 指令碼時,此指令碼會執行。 指令碼的開頭必須是由井號和驚嘆號構成的字元序列,例如 #!/bin/bash 。 |
SetScript | 提供讓機器處於正確狀態的指令碼。 當您叫用 StartDscConfiguration.py \(英文\) 指令碼時,TestScript 會先執行。 如果 TestScript 區塊傳回的結束代碼不是 0,則 SetScript 區塊將會執行。 如果 TestScript 傳回的結束代碼是 0,則 SetScript 區塊將不會執行。 指令碼的開頭必須是由井號和驚嘆號構成的字元序列,例如 #!/bin/bash 。 |
TestScript | 提供評估節點目前是否處於正確狀態的指令碼。 當您叫用 StartDscConfiguration.py \(英文\) 指令碼時,此指令碼會執行。 如果它傳回 0 以外的結束代碼, SetScript 將會執行。 如果傳回的結束代碼是 0,則 SetScript 將不會執行。 當您叫用 TestDscConfiguration \(英文\) 指令碼時,TestScript 也會執行。 不過,在此情況下,無論從 TestScript 傳回何種結束碼,SetScript 都不會執行。 如果實際設定符合目前的預期狀態設定,則 TestScript 必須包含內容且傳回的結束代碼必須為 0,如果不符合,則結束碼不是 0。 目前的預期狀態設定,是上次使用 DSC 之節點上施行的設定。 指令碼的開頭必須是由井號和驚嘆號構成的字元序列,例如 #!/bin/bash 。 |
User | 要執行指令碼的使用者。 |
群組 | 要執行指令碼的群組。 |
通用屬性
屬性 | 描述 |
---|---|
DependsOn | 表示必須先執行另一個資源的設定,再設定這個資源。 例如,如果第一個想要執行的資源設定指令碼區塊識別碼是 ResourceName,而其類型是 ResourceType,則使用這個屬性的語法就是 DependsOn = "[ResourceType]ResourceName" 。 |
例如
下列範例示範如何使用 nxScript 資源來執行其他設定管理。
Import-DSCResource -ModuleName nx
Node $node
{
nxScript KeepDirEmpty {
GetScript = @"
#!/bin/bash
ls /tmp/mydir/ | wc -l
"@
SetScript = @"
#!/bin/bash
rm -rf /tmp/mydir/*
"@
TestScript = @'
#!/bin/bash
filecount=`ls /tmp/mydir | wc -l`
if [ $filecount -gt 0 ]
then
exit 1
else
exit 0
fi
'@
}
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應