脚本源自戏剧舞台,相似剧本同样的东西,表演者照上面演绎出来css
在编程领域也是相似,计算机照着脚本执行便可,好比下面脚本:html
cd ~/Desktop
mkdir demo
cd demo
mkdir js css
touch js/mian.js css/style.css
exit
mkdir ~/local cd ~/local touch demo
mkdir demo cd demo mkdir js css touch js/mian.js css/style.css exit
chmod +x demo
cd ~/Desktop sh ~/local/demo
cd ~/loca;pwd 获得 local 的绝对路径 touch ~/.bashrc vim ~/.bashrc 在最后后面添加一行字:export PATH="local的绝对路径:$PATH" source ~/.bashrc 以前要运行 sh ~/local/demo 如今只需运行 demo
把上面的写的脚本中的 demo 改为 $1,$1表示传的第一个参数node
mkdir $1 cd $1 mkdir js css touch js/main.js css/style.css exit
if [ -d $1 ]; then echo 'error: dir exists' exit 1 else mkdir $1 cd $1 mkdir css js touch index.html css/style.css js/main.js echo 'success' exit 0 fi
exit 0
表示没有错误exit 1
表示错误代码为 1demo && echo '结束'
只有在demo
成功时,才会执行echo '结束'
linux
var fs = require('fs') //执行时 node jsdemo xxx,这个 xxx 就是传的第2个参数 var dirName = process.argv[2] // 你传的参数是从第 2 个开始的 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)
咱们每次执行~/local/jsdemo
都要用node
来执行,能不能作到不加node
也能执行呢(也就是指定执行环境),能够,在jsdemo
第一行加上这一句便可:#!/usr/bin/env node
编程