腳本入門

腳本

腳本源自戲劇舞臺,相似劇本同樣的東西,表演者照上面演繹出來css

在編程領域也是相似,計算機照着腳本執行便可,好比下面腳本:html

cd ~/Desktop
mkdir demo
cd demo
mkdir js css
touch js/mian.js css/style.css
exit

寫一個簡單的腳本

  1. 建立一個 local 目錄,通常來講腳本的後綴是 .sh,可是在 linux 下,後綴沒有任何意義,只是給人看的
mkdir ~/local
  cd ~/local
  touch demo
  1. 編輯 demo
mkdir demo
  cd demo
  mkdir js css
  touch js/mian.js css/style.css
  exit
  1. 爲剛剛建立的文件增長可執行權限chmod +x demo
  2. 在任意位置執行,便可看到新建出來的文件
cd ~/Desktop
  sh ~/local/demo
  1. 把 ~/local 添加到 PATH 裏
cd ~/loca;pwd 獲得 local 的絕對路徑
  touch ~/.bashrc
  vim ~/.bashrc
  在最後後面添加一行字:export PATH="local的絕對路徑:$PATH"
  source ~/.bashrc
  以前要運行 sh ~/local/demo  如今只需運行 demo

參數

把上面的寫的腳本中的 demo 改爲 $1,$1表示傳的第一個參數node

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 '結束'linux

用 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編程

相關文章
相關標籤/搜索