脚本

理解脚本

如果你打开一本 JavaScript 教程,那么很可能在第一章就看到这句话:

JavaScript 是一门动态类型、面向对象的脚本语言。

然而很多工作一年都不清楚这个脚本是什么意思。

其实脚本原本来自戏剧舞台,比如下面这个脚本:

公馆一室内
王妈:(小心翼翼地)小姐,您还是得注意身子,就吃点东西吧。
鸡小姐:(把碗砸在地上)不吃,我就是不吃。
(王妈下)

脚本主要由人物对话和舞台提示组成。演员和道具组只需要按照脚本说的做即可。

编程领域的脚本也是类似的,计算机只要照着脚本上说的做即可,比如下面这个脚本:

1
2
3
4
5
cd ~/Desktop
mkdir demo
cd demo
echo "hi" > index.html
cd ~/Desktop

所以说,脚本就是给计算机照着做的。这是我们对「脚本」的一个感性认识。接下来我们写一个脚本。

自己写一个脚本

默认你在window下并且安装了gitbash

  1. 第一步
1
2
3
cd ~/local   //切换到用户目录下的 local目录
touch demo.txt //新建一个txt文件 后续我们会改为.sh文件因为linux里sh后缀打开会认为是执行程序
open demo.txt //window不支持 如果你会vim 可以vi demo.txt 不然你就双击好了
  1. 打开demo.txt后编辑
1
2
3
4
5
mkdir demo
cd demo
mkdir css js
touch index.html css/style.css js/main.js
exit
  1. 修改后缀为.sh(如果是非window 要添加可执行权限 chmod +x demo.sh)
1
mv demo.txt demo.sh
  1. 执行脚本,然后查看对应目录会有一个demo文件夹里面会有js css index.html
1
sh ~/local/demo.sh

path是什么

  • 你每次在 Bash 里面输入一个命令时(比如 ls、cp、demo),- Bash 都会去 PATH 列表里面寻找对应的文件,如果找到了就执行。
  • 使用 type demo 可以看到命令寻找过程
  • 使用 which demo 可以看到命令寻找结果
  • 文件后缀的作用:毫无作用

你以为一个文件以 .exe 结尾就一定可以双击吗?你以为一个文件以 .png 结尾就一定是图片吗?图样图森破!