脚本

脚本:给计算机照着做的“剧本”(这是对脚本的感性认识)

脚本不是技术术语,只是一个单词(Script),因此无法很好地定义它。

用git bash写一个脚本

if [ -d $1 ]; then
  echo 'error: dir exists'
  exit
else
  mkdir $1
  cd $1
  mkdir css js
  touch index.html css/style.css js/main.js
  echo 'success'
  exit
fi

通过运行这个脚本,就会在当前目录中创建一个里面含“index.html”、“/css/style.css”、“/js.main.js”的目录demo
若目录创建成功,则提示“success”,否则提示“error: dir exists”


从上述脚本中可以看出,在git bash中“判断目录是否存在”变量名文件的命令为

if [ -d $1 ]; then 

else

fi

在git bash中对命令的格式十分苛刻,少一空格或多一空格都会出错

另外,可以通过在.bashrc中加入
export PATH = "脚本所在的绝对路径:$PATH"
使得只要在git bash中输入脚本名即可直接运行脚本

exit的用法

exit 0 表示没有错误,返回代码0
exit 1 表示出现错误,返回错误代码为 1
demo && echo '结束'
只有在 demo 成功时,才会执行 echo '结束'
demo || echo '失败'
只有在 demo 成功时,才会执行 echo '结束'


用NodeJS来写同样的脚本

var fs = require('fs')

var dirName = process.argv[2] // 你传的参数是从第 2 个开始的
if (fs.existsSync("./" + dirName))
process.exit(1)
else{
    var way ="./" + dirName
    fs.mkdirSync(way) // mkdir $1
    fs.mkdirSync(way + '/css') // mkdir css
    fs.mkdirSync(way + '/js') // mkdir js
    fs.writeFileSync(way + "/index.html", "\n" + "Hello\n" + "

Hi

") fs.writeFileSync(way + "/css/style.css", "h1{color: red;}") fs.writeFileSync(way + "/js/main.js", "var string = " + "Hello World\n" + "alert(string)") process.exit(0) }

但要在git bash运行这个脚本,需要先输入 node再接脚本名称。
如不想输入node,则需要在脚本起始处输入shebang,即以下命令
#!/usr/bin/env node


对于编写NodeJS的脚本,如有不懂的命令
可以查阅以下网址:https://nodejs.org/api/fs.html



本教程版权归宣泽彬所有,转载须说明来源

你可能感兴趣的:(脚本)