本文有三个目的:
1.如何简化命令行
2.创建bash脚本 & 写bash脚本
3.创建js脚本 & 写js脚本
简化命令行
自动运行
目的:打开gitbash自动进入桌面目录
操作: 在 .bashrc里添加cd ~/Desktop
Alias指令别名 (可以缩写指令)
目的:定义一个指令的缩写,如:输入f可以打印fank is awesome
操作:在 .bashrc里添加alias f=”echo ‘frank is awesome’”
Path路径 (把一个文件夹放进path路径,可以用来创建脚本)
目的:把文件夹放进path路径
操作:export PATH=”目录的绝对路径:$PATH”
创建bash脚本
目的:创建一个名为demo的bash脚本
操作:
1 | cd ~/local |
此时只需要输入demo就可以执行demo文件里编辑的内容
如果想把demo改为demo.sh
操作:
mv ~/local/demo ~/local/demo.sh //修改后缀
查询命令的路径:
使用 type demo 可以看到寻找过程
使用 which demo 可以看到寻找结果
写bash脚本
目的:输入demo即可生成名字为demo的目录
操作: 在demo文件里编辑以下内容1
2
3
4
5mkdir demo
cd demo
mkdir css js
touch index.html css/style.css js/main.js
exit
目的升级:输入demo + 文件夹名字xxx,生成名字为xxx的目录
操作: 在demo文件里编辑以下内容1
2
3
4
5mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
Exit
此处:$1的意思为输入的第一个参数
目的二次升级:判断目录是否已存在
操作:在demo文件里编辑以下内容1
2
3
4
5
6
7
8
9
10
11if [ -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 ‘结束’
demo || echo ‘结束’ 表示只有在 demo 失败时,才会执行 echo ‘结束’
demo ; echo ‘结束’ 表示执行了demo之后才会执行 echo ‘结束’
创建Js脚本
目的:输入demo即可生成名字为demo的目录
操作:与bash大致相同:1
2
3
4
5
6
7
8
9
10cd ~/local
Touch demo
Start demo
编辑demo
node ~/local/demo //此处需要注意: 不能用sh,而是node,因为语言不同
//这一步已大致完成了所需内容,不过要简化指令:减去node与路径//
//在.bashrc内添加以下一句//
#!/usr/bin/env node //shebang,用于指定执行环境
此时只需要输入demo就可以执行demo文件里编辑的内容
写Js脚本
目的升级:输入demo + 文件夹名字xxx,生成名字为xxx的目录
操作: 在demo文件里编辑以下内容1
2
3
4
5
6
7
8
9
10
11
12
13var 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)
Js学习网址:http://nodejs/org/api