# shell script 腳本撰寫2 ### 各字元代表的意思: 1.**eof 開始結束的標記** `<<EOF 開始` `> 輸入` ![](https://hackmd.io/_uploads/H1OhOFk02.png) 2.**$ 參數** ![](https://hackmd.io/_uploads/rkIrtFk0n.png) 3.**bash 跟 shell的意思不一樣** `./ = 執行bash的腳本` `sh = 執行shell的腳本` ![](https://hackmd.io/_uploads/r1qlctJA2.png) 4.**要傳參數的腳本:** `./ 腳本 參數1 參數2 參數3 (多個參數的時候中間用空格隔開)` 5.**建立過的資料夾不會重複建立** `mkdir -p ` 6.**把兩段指令寫在同一行 用| (pipe)分隔** ![](https://hackmd.io/_uploads/r1V9itJC3.png) 7.**把公鑰寫進金鑰認證檔** *`金鑰認證檔用意 : 將公鑰跟私鑰匹配在一起`* ![](https://hackmd.io/_uploads/SJ80iYyC3.png) 8.**目錄權限給700 檔案權限給600 (固定寫法)** ![](https://hackmd.io/_uploads/H1mp2K1C2.png) 9.**金鑰檔案不要重複檔名** **enter pass不要設密碼(省的打密碼)** ![](https://hackmd.io/_uploads/Bk-maFk0n.png) ![](https://hackmd.io/_uploads/B1pxAtJ0h.png) 10.**通常金鑰檔案 會在使用者名稱下的.ssh 目錄** `若是沒給路徑 會放置於當前目錄` ![](https://hackmd.io/_uploads/HJZ40FJCh.png) **11. mv搬移多個檔案** ![](https://hackmd.io/_uploads/SJ1vJckCn.png) 12.**一定要是linux系統(只有linux有此指令** `win要另外安裝git bash才能執行` ![](https://hackmd.io/_uploads/Bkyq19JRn.png) 13.**金鑰存檔 檔名規則** ![](https://hackmd.io/_uploads/rkhQxcyC3.png) **金鑰生成完成畫面:** ![](https://hackmd.io/_uploads/SJfol9y0h.png) **將公鑰印出** ![](https://hackmd.io/_uploads/Hkl-Z9kAh.png) ----------------------------- ## 腳本範例講解: 14.**簡寫keyfile1腳本 : 1.產生rsa津要 長度是4096bits 2. 自動將 公鑰複製到認證檔 (簡化範例1步驟)** `只有幫你做1.cat動作以及2.chmod` `rsa 金鑰格式(金鑰有很多種格式, 就看工具的支援與否)` ![](https://hackmd.io/_uploads/r1DOZ9JCn.png) 15. **此腳本用意為 加密金鑰檔案** `file 指定一個金鑰檔案, gpg是加密檔案的語法` ![](https://hackmd.io/_uploads/BJ8RM51Rh.png) **最後加密完成,看公鑰或私鑰都可** ![](https://hackmd.io/_uploads/rJoomq1Cn.png)