什么是脚本
- 就是写给计算机看的让计算机明白
上一篇文章的export的具体体现
最简单的小脚本
//在用户目录下建立一个local目录
mkdir ~/local
cd ~/local
touch demo
vim demo
//在demo里面写入内容
sh ~/local/demo//执行刚才你写的内容
//以下是它的简写方法
cd ~/local
pwd // 得到他的绝对路径,并copy
start ~/.bashrc //如果没有就建立啊 touch ~/.bahsrc
//在最后一行写上 export PATH="copy的绝对路径:$PATH"
source ~/.bashrc //执行这句代码
demo //现在只需要demo就可以啦 ,不必再sh ~/local/demo
变体1:让demo的内容可变
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
exit
//由于把local也已经加入到了PATH里面,所以可以直接 demo xxx,就会在你的目录下生成一个xxx的目录,里面包含了 index.html css/style,css js/main.js
变体2:先判断一下目录是否存在
if [ -d $1 ]; then
echo '目录已存在'
exit
else
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
echo 'success'
exit
fi
//学会bash脚本的if else if
- exit 0 表示没有错误
- exit 1 表示错误代码为 1
Node.js 写脚本
以上写的是bash脚本,node.js也可以写脚本,只不过是不同的语法,详见 node.js脚本
创建 ~/local/jsdemo.js,内容如下
//重写demo
var fs = require('fs')
var dirName = process.argv[2] // 你传的参数是从第 2 个开始的,node demo xxx,所以目录是第二个参数。0.1.2
process.chdir("/Users/frank/Desktop") // cd ~/Desktop
fs.mkdirSync("./" + dirName) // mkdir $1
process.chdir("./" + dirName) // cd $1
fs.mkdirSync('css') // mkdir css
fs.mkdirSync('js') // mkdir js
fs.writeFileSync("./index.html", "")
fs.writeFileSync("css/style.css", "")
fs.writeFileSync("./js/main.js", "")
process.exit(0)
以上每次运行都要加 node ~/local/jsdemo.js
所以引入shebang
//在jsdemo.js头部加入
#!/usr/bin/env node
就可以直接的运行 ~/local/jsdemo.js xxx