概述:JavaScript 是一门动态类型、面向对象的脚本语言
如何理解:脚本原本来自戏剧舞台,脚本主要由人物对话和舞台提示组成;演员和道具组只需要按照脚本说的做即可编程领域的脚本也是类似的,计算机只要照着脚本上说的做即可(脚本就是给计算机照着做的)
写脚本
如果是windows用户,设置系统显示文件后缀后再进行下一步
1.新建文件&没有目录就先新建目录(一般来说脚本的后缀是 .sh,但其实后缀随意/有无也随意 ,并无太大意义)
mkdir ~/local
cd ~/local
touch demo.sh
2.编辑文件(vi ~/local/demo.sh)
【vim编辑器的基本用法:按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候就可以开始输入文字;: wq (输入「wq」,存盘并退出vi)】pwd # 确认一下当前路径是不是 ~/local 或者 /c/Users/你的名字/local
mkdir demo
cd demo
mkdir css js
touch index.html css/style.css js/main.js
exit*若不是Windows用户需要给 demo.sh 添加执行权限chmod +x demo.sh
3.运行脚本
cd ~/Desktop
sh ~/local/demo.sh(运行后目录里会多出一个 demo 目录,就是写好的脚本了)
4.配置
cd ~/local; pwd
touch ~/.bashrc
start ~/.bashrcexport PATH="local的绝对路径:$PATH" (添加在编辑器里)
*将第一步得到的路径粘贴过来
source ~/.bashrc(配置生效)
—现在只需要运行demo.sh
就可以运行脚本了
脚本相关内容
1.PATH 的作用:每次在 Bash 里面输入一个命令时(比如 ls、cp、demo),Bash 都会去 PATH 列表里面寻找对应的文件,如果找到了就执行。
2.使用 type demo 可以看到寻找过程
3.使用 which demo 可以看到寻找结果
4.设置参数(文件路径应为自己的路径)
vi ~/local/demo.sh(打开demo.sh进行编辑)
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
exit*现在只要~/local/demo xxx 就会创建 xxx 目录(用 ls 可以看到 xxx)
5.判断目录是否存在
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
6.返回值
exit 0表示没有错误
exit 1表示错误代码为1
demo && echo '结束' / 只有在 demo 成功时,才会执行 echo '结束'
用Node.js写脚本
*我们在 Bash 命令行里输入 Bash 命令,也可以在 Node.js 命令行里输入 JS 命令,两者都是一种脚本,例如:sh demo.sh
(Bash script)对应node demo.js
(Java script)
1.切换目录:
console.log(process.cwd()) //打印当前目录(console.log 就相当于 echo)
process.chdir("demo"); //切换目录
2.创建目录
let fs = require("fs")
fs.mkdirSync("demo")
3.创建文件
let fs = require('fs')
fs.writeFileSync("./index.html", "")
4.重写 demo.sh
创建 ~/local/jsdemo.js:
var fs = require('fs') 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)*若不是Windows 用户,需要给 jsdemo.js 加上执行权限 chmod +x ~/local/jsdemo.js
cd ~/Desktop
node ~/local/jsdemo.js xxx(就可以看到 xxx 目录创建成功了)
总结
- 脚本就是给机器一行一行执行的文本
- 不同脚本都有自己的语法,Bash 脚本有 Bash 脚本的语法,Node.js 脚本有 JS 语法,不管是那种脚本,能实现的功能都差不多,只是语法不同
- Bash 脚本的语法有很多需要记忆的,比如 $1 $# 等符号,没有规律
- Bash 脚本和Node.js 脚本的用法不要特意去记,遇到不会的 Google就好
- 写代码初期要多练习写好的代码,习惯很重要,不能养成抄错代码的习惯
注意空格,单词拼写,符号等的准确性