脚本编程基础知识 |
您所在的位置:网站首页 › 文档撰写是什么意思呀英语 › 脚本编程基础知识 |
你以为什么是脚本?
不知道你有没有接触过高级编程语言,比如C、C++、Java等,这些语言的执行通常需要经过编写-编译-链接-运行等过程,而脚本语言则不然。一个脚本通常是解释运行而非编译。 我们在维基百科上搜Script(脚本),得到的结果有两个——剧本和脚本程序。虽然说两个是不一样的东西,但依然是可以放在一起理解的。所谓的剧本,就是演员照着一步一步做的东西。比如下边的这一段 现在,你可以运行sh demo.sh aa来创建一个名为aa的文件夹了。 7. 如果说我已经创建过一个名为aa的文件夹,然后又来运行sh demo.sh aa呢?显而易见,它是会报错的。那么我们能不能不让它报那么难看的错,给用户一个提示信息呢?是的,加一个判断。如果这个文件存在,那么就让它输出”The directory is already exist!”,如果不存在那就创建。所以,你可以Google一下bash脚本的if语句怎么用。这里是代码。 if [ -d $1 ]; then echo 'The directory is already exist!' exit 1 //表示程序运行出错,错误代码为1 else mkdir $1 cd $1 mkdir css js touch index.html css/style.css js/main.js echo 'success' exit 0 //表示0个错误 fi 是的,经过上述步骤基本已经完成了一个小脚本案例了。我们最后来进行测试环节。 sh demo.sh aa && echo '成功' //如果前边的程序执行成功就显示字符串“成功” sh demo.sh bb || echo '失败' //如果前边的程序返回的是非0,显示“失败” 换个node.js脚本玩玩? 我们上边写的脚本是Bash Script(Bash脚本),现在,换个我们前端用的js脚本玩玩?基本规则其实都差不多,两个的语法方面略微有一点差别。你想要实现什么功能的话都可以去Google。比如你可以搜索node js change dir,来找到如何在node下转换路径。你也可以进入nodejs官网nodejs.org–>docs–>api直接在里边查,比如文件系统(file system—fs)的一些操作。 上边用bash命令我们执行写的是sh demo.sh,如果你省略sh直接写demo.sh依然可以得到你想要的结果。因为系统默认使用sh(即shell)来运行脚本。但到了这里可就不行了。你知道的,文件后缀并不影响,所以如果你依然用shell来执行demo.js文件,显然是有问题的。我们一般会用node demo.js来运行这个文件。如果你想让这个文件默认用node执行,请在文件的第一行加上#!/usr/bin/env node。 综上,将上述功能换成js脚本的话,就应该是这样的: #!/usr/bin/env node var fs = require('fs'); dirName = process.argv[2] // 你传的参数是从第 2 个开始的 if (fs.existsSync(dirName)) { console.log("The file is already exist"); process.exit(1); } fs.mkdirSync("./" + dirName) // mkdir $1 process.chdir("./" + dirName) // cd $1 fs.mkdirSync('css') // mkdir css fs.mkdirSync('js') // mkdir js fs.writeFileSync("./index.html", "HelloHi") fs.writeFileSync("css/style.css", "h1{color: red;}") fs.writeFileSync("./js/main.js", "var string = 'Hello World' alert(string)") process.exit(0)这里对第三行稍微解释一下,为什么前边bash传的参数算是第一个而后边js算是第二个呢?给一段代码吧,反正我是这样理解的。demo.sh xx,node demo.js xx,从0开始数。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |