在Hamilton C Shell中保存和恢复局部变量

在Hamilton C Shell中保存和恢复局部变量,shell,csh,Shell,Csh,我尝试在文件中的某一点保存所有变量状态,并在需要时恢复所有保存的变量。我不知道如何实现RestoreState并保持变量类型,也许有人已经这样做了 #script.csh 本地a、b @a=1 @b=“你好” proc SaveState() 本地>备份.txt endproc#SaveState 财产恢复程序() #如果文件backup.txt存在 如果(-e backup.txt),则 echo--“----恢复已保存状态---” 结束#如果 endproc#恢复财产 储蓄国 @b=“世界”

我尝试在文件中的某一点保存所有变量状态,并在需要时恢复所有保存的变量。我不知道如何实现
RestoreState
并保持变量类型,也许有人已经这样做了

#script.csh
本地a、b
@a=1
@b=“你好”
proc SaveState()
本地>备份.txt
endproc#SaveState
财产恢复程序()
#如果文件backup.txt存在
如果(-e backup.txt),则
echo--“----恢复已保存状态---”
结束#如果
endproc#恢复财产
储蓄国
@b=“世界”
恢复性房地产
#列出变量,应打印1和“hello”
地方的

编辑
“1”==1
因此不需要保留变量类型

我通过使用sed并将
backup.txt
文件保存为可由
source
命令读取的格式,找到了一个解决方案:

proc SaveState()
本地| sed的/^^\([a-zA-Z0-9\]*\)[\t]*\(.*\)$/@\1=“\2”/>backup.txt
endproc#SaveState
财产恢复程序()
#如果文件backup.txt存在
如果(-e backup.txt),则
源备份.txt
结束#如果
endproc#恢复财产

我知道“传统”的C-Shell支持
源文件
(我认为
.file
),这对恢复保存的状态不起作用吗?祝你好运。(哦,“保持变量类型”,不知道,祝你好运!/-:)如果你真的很绝望,
awk
在除法为零时返回
2
,因此
awk'END{x=“abc”;print”x=“x;print 30/x}'/dev/null
可以用来决定字符串和数字。嗯,但是我用
bash/ksh
这样做的方法是使用
case
语句。你在哪里找到一个系统w汉密尔顿?祝你好运进一步想想汉密尔顿C-shell,我确信我知道它的唯一原因是多年来阅读
comp.unix.shell
互联网新闻组(也许你熟悉这个想法?(;)。该新闻组仍然很活跃(如果经常被垃圾邮件淹没),但你可能会找到你可以搜索的档案,或者在那里发布新帖子,并与其他H-C-Shell用户联系。(你可以通过谷歌群组来做,但我想我读到“产品”在濒危名单上)。我需要向你发送
csh为什么不
URL吗?(-祝你好运!@shelter,Solution find;),非常感谢你