關(guān)于Javascript我們一定都能看到這樣一句話:
JS是一門動態(tài)類型,面向?qū)ο蟮哪_本語言
那么,什么是腳本呢?這是我們最想知道的事情了。
用最通俗的話來講,我們可以簡單理解為:腳本就是劇本,指揮著演員們說什么,做什么,有什么樣的動作,什么樣的神態(tài)。而計算機(jī)就是我們的演員,根據(jù)腳本做出反應(yīng)。
現(xiàn)在我們來寫一個簡單的小腳本吧~
一、bash腳本
1、新建一個目錄,進(jìn)入目錄,在里面新建一個文件,后綴可以是.txt也可以是.sh(在命令行里,后綴除了提醒你自己知道這是個什么類型的文件以外,基本沒有什么鳥用emmm)
$ cd /e/prctice
$ mkdir local
$ cd local
$ touch demo.sh
2、這樣我們就將文件建好了,然后開始編輯我們的腳本內(nèi)容了
可以用start命令,用記錄本打開編輯它
start demo.sh
也可以用gitbash里的vim編輯器編輯(vim被稱為編輯器之神啊,如果可以的話,盡量學(xué)好它這里我為了自己練習(xí)一下,就用vim編輯啦)(暗戳戳扔個vim攻略~)
vim demo.sh
好了,我們開始輸入以下內(nèi)容,然后保存退出:

這個腳本內(nèi)容就是告訴計算機(jī),要創(chuàng)建一個demo目錄,進(jìn)入demo,創(chuàng)建css目錄和js目錄,創(chuàng)建一個index.html文件,css目錄下的style.css文件,以及一個js目錄下的main.js文件。
3、此時,我們輸入
sh demo.sh
執(zhí)行一下腳本,看看是不是我們所想的那樣

用ls -l命令我們看到local里多了一個demo文件,進(jìn)入demo文件再查看,就發(fā)現(xiàn)下面確實執(zhí)行我們的腳本。(有一個tree命令可以直接看到目錄的結(jié)構(gòu),但我是Windows系統(tǒng),tree執(zhí)行不了~)
4、是不是太簡單了,那我們加大一點點難度,如果我想生成demo aaa就生成demo aaa ,想生成demo 123就生成demo 123,我們應(yīng)該怎么做到改變目錄名字呢?我們想要直接填寫到里面內(nèi)容,又要怎么做呢?如果我們還想讓它有邏輯,如果目錄已存在就報錯退出,不存在就執(zhí)行又該怎么做呢?come on~
打開剛才的文件,我們重新編輯一下~

if else :如果……否則 條件語句
如果 [-d 1](1目錄)存在,就退出,并在命令行里報錯"error:dir existes"(你可以自己寫報錯信息,比如文件已存在等)
$1 : 代表第一個參數(shù)
為什么是第一個參數(shù),那就谷歌~
5、好了,我們執(zhí)行一下

aaa 已存在,那我們在瀏覽器查看一下里面的index.html,看看寫入內(nèi)容成功了沒

最后再看看我們的條件語句成功沒~

報錯,并退出了我們的簡易腳本就完成了
二、node.js 腳本
之前我們寫的是bash腳本,這個是node.js腳本,都是腳本,bash能寫的,這個也闊以,只是語法不同而已,想簡單學(xué)習(xí)一下的就繼續(xù)吧~
用JS腳本寫之前的腳本:
var fs = require('fs')
聲明file system
var dirName = process.argv[2]
聲明一個目錄名xxx , [2]是取第二個變量的意思 , 我們執(zhí)行文件 node(0) node.js(1) xxx(2)
fs.mkdirSync( "./" + dirName)
對應(yīng) mkdir $1
process.chdir( "./" + dirName)
當(dāng)前進(jìn)程 對應(yīng) cd $1
fs.mkdirSync( 'css' )
對應(yīng) mkdir css
fs.mkdirSync( 'js' )
對應(yīng) mkdir js
fs.writeFileSync ( "./index.html" , "")
fs.writeFileSync ( "./css/style.css" , "")
fs.writeFileSync ( "./js/msin.js" , "")
對應(yīng) touch文件+echo“” >文件
process.exit (0)
對應(yīng) 進(jìn)程結(jié)束,退出

最后再去命令行里 node node.js bbb 就會發(fā)現(xiàn)成功創(chuàng)建了一個 bbb目錄,我們的腳本這就成功了。

ok入門級腳本就到這里啦,歡迎指錯(js里條件語句我寫不過來(大哭),去谷歌搜到了,就是寫過來總是報錯,再研究研究吧)