我想将我的scala编译器的当前版本存储在变量中。为了找到Scala编译器版本,我可以运行命令scalac -version
得到以下的输出:无法在bash中分割文本字符串
$> scalac -version
Scala compiler version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL
我知道下面的命令会让我第四字的空格分隔字符串:
> N=4; echo "Scala compiler version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL" | grep "Scala compiler" | awk -v N=$N '{print $N}'
2.11.6
但是,如果不使用硬编码字符串,我使用scalac -version
作为echo
命令的输入,结果字符串不会被分割:
> N=4; echo "$(scalac -version)" | grep "Scala compiler" | awk -v N=$N '{print $N}'
Scala compiler version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL
如何从第三个代码段获取第二个代码段的结果?
由于
更改' “$ {scalac -version)”''到 “$ {scalac -version}”' ;您正在使用闭括号而不是闭合大括号。 –
最后一个命令行包含语法错误。发布你需要帮助的真正命令。 –
是的,它确实包含语法错误。我在我的电脑上使用了无错命令,我只是在输入问题时犯了错误。我的道歉,这个问题依然存在。 –