入门-脚本
理解脚本
JavaScript是一门动态类型,面向对象的脚本语言
脚本不是术语,就是个单词
写脚本
cd ~/Desktop
先返回桌面mkdir local
创建local目录cd local
进入local目录touch demo.txt
创建demo.txtxdg-open demo.txt
打开demo.txt写入下面的代码:
1
2
3
4
5mkdir demo
cd demo
mkdir css js
touch index.html css/style.css js/main.js
exit(可加可不加)mv demo.txt demo.sh
demo.txt重命名为demo.shls -l
列出当前目录下文件属性chmod +x demo.sh
给demo.sh加上运行权限cd ~/Desktop
返回桌面目录sh ~/local/demo.sh
运行demo.sh脚本,在桌面创建一个demo目录,里面有index.html,css和js两个目录- 将~/local添加到PATH里
cd ~/local; pwd
查看local目录的绝对路径vim ~/.zshrc
vim打开zshrc配置文件export PATH="local的绝对地址:PATH"
在文件最后一行写入代码source ~/.zshrc
保存下配置文件demo.sh
直接可以运行脚本mv ~/local/demo.sh ~/local/demo
将demo.sh的文件后缀去掉demo
直接可以运行脚本
细节
- PATH 的作用:你每次在 Bash 里面输入一个命令时(比如 ls、cp、demo),Bash 都会去 PATH 列表里面寻找对应的文件,如果找到了就执行.
- 使用 type demo 可以看到寻找过程
- 使用 which demo 可以看到寻找结果
- 文件后缀的作用:(在命令行里)毫无作用,在Windows里面,文件后缀是打开指定的应用程序。
参数
将demo脚本里面的demo都改成$1,1
2
3
4
5mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
exit(可加可不加)
在命令行里运行demo xxx,可以生成一个名为xxx的目录
$1 表示你传的第一个参数。
判断目录是否存在
1 | if [ -d $1 ]; then |
-d $1可以判断目录是否存在
返回值
exit 0
表示没有错误exit 1
表示错误代码为1
命令行输入demo && echo ‘结束’
只有在demo成功是,才会执行 echo ’结束‘
Node.js 写脚本
JS 的全称叫做 JavaScript(Java脚本),虽然 JS 和 Java 没什么关系,但是 JS 依然是一种脚本。
- 我们在 Bash 命令行里输入 Bash 命令,也可以在 Node.js 命令行里输入 JS 命令(Ctrl + D 退出)
- Bash 脚本能做的事情,JS 脚本也能做。(sh demo.sh 对应 node demo.js)
shebang
我们每次执行 ~/local/jsdemo.js
都要用 node 来执行,能不能做到不加 node 也能执行呢(也就是指定执行环境)
可以,在 jsdemo.js 第一行加上这一句即可:#!/usr/bin/env node
- 然后你就可以直接用 ~/local/jsdemo.js zzz 了(省得输入 node 了)。
- 如果你已经把 ~/local 加入了 PATH,那么甚至可以直接输入 jsdemo.js zzz 来执行。
- 如果你再把 jsdemo.js 的后缀 .js 去掉,就可以直接 jsdemo zzz 了。
Comments