如何解决在Hamilton C Shell中保存和还原局部变量
我尝试将所有变量状态保存在文件中的某个点,并在需要时恢复所有已保存的变量。我看不到如何实现---
- hosts: localhost
tasks:
- azure_rm_securitygroup:
resource_group: rg-cs-ansible
name: nsg-cs-web
rules:
- name: 'allow_rdp'
protocol: Tcp
destination_port_range: 3389
access: Allow
priority: 1001
direction: Inbound
- name: 'allow_web_traffic'
protocol: Tcp
destination_port_range:
- 80
- 443
access: Allow
priority: 1002
direction: Inbound
- name: 'allow_powershell_remoting'
protocol: Tcp
destination_port_range:
- 5985
- 5986
并保持变量类型,也许有人已经做到了?
RestoreState
编辑:# script.csh
local a,b
@ a = 1
@ b = "hello"
proc SaveState ()
local > backup.txt
endproc # SaveState
proc RestoreState ()
# If file backup.txt exists
if (-e backup.txt) then
echo -- "----- Restore saved state -----"
end # if
endproc # RestoreState
SaveState
@ b = "world"
RestoreState
# list variables,should print 1 and "hello"
local
,因此不必保留变量类型
解决方法
我找到了一种解决方案,方法是使用sed并将backup.txt
文件保存为source
命令可以读取的格式:
proc SaveState ()
local | sed 's/^^\([a-zA-Z0-9_]*\)[\t ]*\(.*\)$/@ \1 = "\2"/' > backup.txt
endproc # SaveState
proc RestoreState ()
# If file backup.txt exists
if (-e backup.txt) then
source backup.txt
end # if
endproc # RestoreState
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。