脚本入门

脚本

脚本源自戏剧舞台,相似剧本同样的东西,表演者照上面演绎出来css

在编程领域也是相似,计算机照着脚本执行便可,好比下面脚本:html

cd ~/Desktop
mkdir demo
cd demo
mkdir js css
touch js/mian.js css/style.css
exit

写一个简单的脚本

  1. 建立一个 local 目录,通常来讲脚本的后缀是 .sh,可是在 linux 下,后缀没有任何意义,只是给人看的
mkdir ~/local
  cd ~/local
  touch demo
  1. 编辑 demo
mkdir demo
  cd demo
  mkdir js css
  touch js/mian.js css/style.css
  exit
  1. 为刚刚建立的文件增长可执行权限chmod +x demo
  2. 在任意位置执行,便可看到新建出来的文件
cd ~/Desktop
  sh ~/local/demo
  1. 把 ~/local 添加到 PATH 里
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 表示错误代码为 1
demo && echo '结束'
只有在demo成功时,才会执行echo '结束'linux

用 JS 脚本重写 demo

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)

shebang

咱们每次执行~/local/jsdemo都要用node来执行,能不能作到不加node也能执行呢(也就是指定执行环境),能够,在jsdemo第一行加上这一句便可:#!/usr/bin/env node编程

相关文章
相关标签/搜索