Vscripts

V语言还可以用来写系统shell脚本,借助简洁的语法,写shell脚本还是比较舒服的,而且还可以是跨平台的

V脚本的文件名后缀为 .vsh

区别于.v文件,在.vsh中:

  • 不用定义主模块

  • 不用定义主函数

  • 不用导入os模块,调用os模块函数时,可以省略os前缀,就像使用内置函数那样

直接像shell脚本那样写,代码从头开始运行

script.vsh

  1. for _ in 0 .. 5 {
  2. println('V script')
  3. }
  4. println('deploying...')
  5. println('Files')
  6. foo := ls('.') or { panic(err) }
  7. println(foo)
  8. println('')
  9. rm('a.out')
  10. println('Making dir name and creating foo.txt')
  11. mkdir('name') ?
  12. // TODO mkdir()
  13. create('foo.txt') ?
  14. foo_ls := ls('.') or { panic(err) }
  15. println(foo_ls)
  16. println('')
  17. println('Entering into name')
  18. chdir('name')
  19. foo_ls2 := ls('.') or { panic(err) }
  20. println(foo_ls2)
  21. println('')
  22. println('Removing name and foo.txt')
  23. println('')
  24. chdir('../')
  25. rmdir('name')
  26. rm('foo.txt')
  27. again := ls('.') or { panic(err) }
  28. println(again)

编译,运行:

  1. v script.vsh && ./script

或者直接运行:

  1. v run script.vsh

具体的os模块常用的函数可以参考标准库章节的介绍