从C Shell脚本中的变量中提取子字符串?

时间:2013-04-26 05:40:56

标签: windows shell

我是C Shell Script(.csh)的新手。我不知道为什么以下脚本无法正常工作。

set Version;
wmic /append: "$Version" wmic os get version;    #This prints: Version
                                                  6.1.7601
echo $Version;    #This does not print anything as $Version is empty
set subVersion = `echo $Version | awk '{print substr($0,2)}'`;
echo $subVersion;    #This does not print anything

请帮我知道脚本有什么问题。 谢谢。

更新:看起来正在打印的内容实际上是行wmic /append: "$Version" wmic os get version;&不是echo $Version;。 所以现在的问题是如何将wmic的输出转换为变量$Version

2 个答案:

答案 0 :(得分:0)

无法测试,但这里有几个选择:

`echo $Version | awk 'BEGIN {FS=".";} {print $1;}'`;

所以使用awk的字段拆分功能来获得你需要的东西。 awk有点矫枉过正:

set subVersion = ${Version:0:2}

也应该有用。

答案 1 :(得分:0)

以下代码有助于将输出捕获到变量。现在可以对变量做任何事情:

set Ver = `(wmic os get version)`;
echo $Ver;