二.脚本

js是一门动态类型.面向对象的脚本语言

动态类型:
脚本:告诉计算机该怎么做的文本(1.脚本是由语法的)。

一.Bash Script(bash脚本)

1.写一个脚本

进入一个目录这里为local目录
执行以下命令:

touch demo.sh(linux中.sh结尾会直接执行(.sh可执行文件))
mv demo.sh demo.txt
start demo.txt

编写demo.txt内容:

mkdir demo
cd demo
mkdir css js
touch css/style.css js/main.js
exit

保存后退出

mv demo.txt demo.sh(运行时需要加后缀.sh)
mv demo.sh demo(不需要加后缀)
如果不是windows需要给demo.sh添加可执行权限:chmod +x demo.sh
sh ~/local/demo.sh(执行demo.sh///sh->shell)

执行后发现该路径下多了一些文件

2.PATH(命令都是一个个可执行的文件,这些命令的文件路径全部存放在PATH中。当我们在执行命令时,系统会先在path目录中依次寻找可执行的文件)
  • 1.type 打印出一个命令的路径,可以看到寻找过程,which告诉命令寻找的的结果
  • 2.当我们输入命令时.系统先在PATH一个一个路径寻找存放命令文件,找到后立即执行
  • 3.echo $PATH 打印出PATH中所有的路径
  • 4.所有的命令都是一个可执行的脚本文件
    因此,我们可以利用PATH来自定义自己的命令
    思路:将自定义的文件路径存储在PATH中
    linux中所有东西都是文件,可执行的文件是命令,不可执行的文件是配置
  • 5.文件后缀是没什么作用的,只是为了让人类看懂。
3.自定义一个命令吧

将demo.sh中的内容改成:

mkdir 1 ( 1是执行的脚本后的第一个参数)
cd $1
mkdir css js
touch css/style.css js/main.js
exit

保存退出
执行sh ~/local/demo.sh demo2即可创建一个目录名为demo2的目录

* 进阶 *
将 demo.sh所在目录的绝对路径加入加入到PATH中,直接输入demo即可启用该命令

  • 1.临时设置命令行输入export PATH=”local绝对路径:$PATH”
  • 2.永久设置:在~./bashrc文件中写上export PATH=”local绝对路径:$PATH”(.bashrc文件需手动启动:source ~/.bashrc.负责需要重启后更改才会生效)
4.判断目录是否存在
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

返回值:

exit 0表示没错误
exit 1表示错误代码为1

例子:

demo &&echo “结束”

只有demo成功时,才会执行echo “结束”

二.js脚本

ctrl+d退出
ctrl+c中断

1.Node.js命令行(node相当于js的bash)

process.cwd()->pwd
process.chdir()->cd
console.log()->echo

fs->file system文件系统,和文件相关的都和fs有关

var fs = require(“fs”)
fs.mkdirSync()->mkdir

var fs = require(“fs”)
fs.writeFileSync()->touch

2.利用js写脚本

用 JS 脚本来重写 demo.sh
创建 ~/local/jsdemo.js,内容如下

var fs = require(‘fs’)
var dirName = process.argv[2] // 你传的参数是从第 2 个开始的
fs.mkdirSync(“./” + dirName) // mkdir 1 p r o c e s s . c h d i r ( . / + d i r N a m e ) / / c d 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 zzz,就可以看到 zzz 目录创建成功了
shebang

我们每次执行 ~/local/jsdemo.js 都要用 node 来执行,能不能做到不加 node 也能执行呢(也就是指定执行环境),可以,在 jsdemo.js 第一行加上这一句即可:

#!/usr/bin/env node

(以下操作在 Windows 上可能失败,失败了就算了)
然后你就可以直接用 ~/local/jsdemo.js zzz 了(省得输入 node 了)。
如果你已经把 ~/local 加入了 PATH,那么甚至可以直接输入 jsdemo.js zzz 来执行。
如果你再把 jsdemo.js 的后缀 .js 去掉,就可以直接 jsdemo zzz 了。
注意,你每次执行前最好删掉 zzz 目录,以免发生冲突

通过上面我们学会了:

1.用 bash写一个脚本
2.path路径的含义用法
3.用node.js写脚本

猜你喜欢

转载自blog.csdn.net/wang_liuyong/article/details/81073640