作者:大帅哥石头2011 | 来源:互联网 | 2023-09-25 18:26
脚本脚本源自戏剧舞台,相似脚本一样的东西,表演者照上面归纳出来在编程范畴也是相似,计算机照着脚本实行即可,比方下面脚本:cd~Desktopmkdirdemocddemomkdir
脚本
脚本源自戏剧舞台,相似脚本一样的东西,表演者照上面归纳出来
在编程范畴也是相似,计算机照着脚本实行即可,比方下面脚本:
cd ~/Desktop
mkdir demo
cd demo
mkdir js css
touch js/mian.js css/style.css
exit
写一个简朴的脚本
- 建立一个 local 目次,一般来说脚本的后缀是 .sh,但是在 linux 下,后缀没有任何意义,只是给人看的
mkdir ~/local
cd ~/local
touch demo
- 编辑 demo
mkdir demo
cd demo
mkdir js css
touch js/mian.js css/style.css
exit
- 为方才建立的文件增添可实行权限
chmod +x demo
- 在恣意位置实行,即可看到新建出来的文件
cd ~/Desktop
sh ~/local/demo
- 把 ~/local 增加到 PATH 里
cd ~/loca;pwd 获得 local 的绝对路径
touch ~/.bashrc
vim ~/.bashrc
在末了背面增加一行字:export PATH="local的绝对路径:$PATH"
source ~/.bashrc
之前要运转 sh ~/local/demo 如今只需运转 demo
参数
把上面的写的脚本中的 demo 改成 $1,$1示意传的第一个参数
mkdir $1
cd $1
mkdir js css
touch js/main.js css/style.css
exit
推断目次是不是存
if [ -d $1 ]; then
echo 'error: dir exists'
exit 1
else
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
echo 'success'
exit 0
fi
exit 0
示意没有毛病
exit 1
示意毛病代码为 1
demo && echo '完毕'
只要在demo
胜利时,才会实行echo '完毕'
用 JS 脚本重写 demo
var fs = require('fs')
//实行时 node jsdemo xxx,这个 xxx 就是传的第2个参数
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)
shebang
我们每次实行~/local/jsdemo
都要用node
来实行,能不能做到不加node
也能实行呢(也就是指定实行环境),能够,在jsdemo
第一行加上这一句即可:#!/usr/bin/env node