Shell脚本哈希表

时间:2013-07-26 20:58:23

标签: shell batch-file hashtable

我正在尝试将.bat文件转换为.sh脚本。几个参数传递给脚本,其中一个是哈希表。代码看起来像......

date /T
time /T

FOR /F "tokens=1-11" %%A IN (%4) DO (
   set args1=%%A %%B %%C %%D %%E %%F %%G %%H %%I %%J %%K
)
FOR /F "tokens=12" %%A IN ("%4") DO (
   set args2=%%A
)
FOR /F "tokens=12*" %%A IN (%4) DO (
   set dummy=%%A
   set args3=%%B
)

我不确定这里发生了什么,或者如何处理它? 有什么建议?或者我可以在网上查看好的参考页面?

1 个答案:

答案 0 :(得分:1)

这是一个很好的参考页面:http://technet.microsoft.com/en-us/library/bb490909.aspx

击穿

第一个循环是将输入视为文件名集。

  • 这是在变量args1中存储前11个以空格分隔的项目。

第二个循环是将输入视为文字字符串。

  • 这只是在变量args2中存储12个以空格分隔的项目。

最后一个循环是将输入视为文件名集。

  • 这是在变量args3中的第12个项目之后存储所有剩余的空白分隔项目。

实施例

我建议在每个循环后添加echo命令,这样你就可以看到解析后的值是什么样的。

FOR /F "tokens=1-11" %%A IN (%4) DO (
   set args1=%%A %%B %%C %%D %%E %%F %%G %%H %%I %%J %%K
)
echo %args1%
FOR /F "tokens=12" %%A IN ("%4") DO (
    set args2=%%A
)
echo %args2%
FOR /F "tokens=12,*" %%A IN (%4) DO (
   set args3=%%B
)
echo %args3%