新手问题 下面这段脚本什么意思?看不懂了

lips · 2015年05月09日 · 最后由 jasontang168 回复于 2015年05月09日 · 1983 次阅读

sed 语句和替换有关系么? 把所有 **opts 替换成 opts? vagrant -v 本地显示为 1.7,1, 那么执行过程中,会 转换为awk "BEGIN {exit 0}" 这个是什么意思? \ # temporary hack to address bug with vagrant-vbguest installation # https://github.com/mitchellh/vagrant/issues/4962 if awk "BEGIN {exit vagrant -v == "1.7.1" ? 0 : 1 }" then sudo sed -i .original 's/**opts/opts/g' /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/lib/vagrant/machine.rb fi

楼主还是多看看 linux 的命令吧,特别是 awk 和 sed。 if awk "BEGIN {exit vagrant -v == "1.7.1" ? 0 : 1 }" ,这句话的意思是个三元表达式,即 vagrant -v == "1.7.1"时,为 0,不是 1.7.1 返回 1。 then sudo sed -i .original 's/**opts/opts/g' /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/lib/vagrant/machine.rb,sed 的含义是将对应的字符串替换,s/a/b/g 这个很常用。 fi

#1 楼 @jasontang168 awk "BEGIN {exit 0}" 是什么?

楼主,请你认真看 awk,如果没有资料,man awk 就行了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号