脚本

作者: 宣泽彬 | 来源:发表于2018-05-07 23:10 被阅读13次

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

    脚本不是技术术语,只是一个单词(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", "<!DOCTYPE>\n" + "<title>Hello</title>\n" + "<h1>Hi</h1>")
        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


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

    相关文章

      网友评论

          本文标题:脚本

          本文链接:https://www.haomeiwen.com/subject/bfvmrftx.html