學習使用shell(shell編寫程序令iOS開發更便捷)

基本

shell是一個C語言編寫的程序,咱們能夠用這個應用程序來訪問操做系統內核的服務shell

shell腳本

shell腳本,是一種爲shell編寫的腳本程序,咱們平時說的shell通常都是在說寫shell腳本,而不是開發shellvim

下面咱們利用shell,編寫一個腳本,使得之後在iOS開發中能夠快速的建立一個項目分類的文件夾

(本質就是達到一個快速建立項目分類的目的)(如下指令均在終端中操做)bash

1)首先咱們在桌面建立一個文件夾,而且進入編寫指令app

Last login: Fri Dec 25 11:32:35 on ttys003
zhangjinzhao:~ ZhangJinzhao$ cd /Users/lanou3g/Desktop/
zhangjinzhao:Desktop ZhangJinzhao$ mkdir shellDemo && cd shellDemo

2)此時咱們已經進入到了建立的shellDemo文件夾下,而後咱們須要在這個文件夾下面建立一個"makeProjectDir.sh"文件,並寫入你須要建立的文件夾名稱操作系統

zhangjinzhao:shellDemo ZhangJinzhao$ vim makeProjectDir.sh

終端進入
vim makeProjectDir.sh(若是存在直接打開,不存在建立後打開)
此時進入文件,若是是編輯模式,便可以進行編輯,或者是命令模式
編輯模式—>ESC+shift+冒號鍵+w鍵,此時能夠寫入
編輯模式—>ESC+shift+冒號鍵+q鍵,此時已經離開
編輯模式—>ESC+shift+冒號鍵+wq鍵,此時寫入並離開
編輯模式—>ESC+shift+冒號鍵+wq!鍵,強制寫入並離開
命令模式—>i鍵—>進入編輯模式
set nu:顯示行號
ESC後 輸入dd 能夠刪掉一行命令行

#! /bin/bash

#shell腳本

mkdir classes && cd classes
mkdir Appdelegate General Helpers Marco Models Resources Scenes Vendors

3) 此時咱們的文件夾名稱就已經列入完畢,退出後執行code

zhangjinzhao:shellDemo ZhangJinzhao$ chmod +x makeProjectDir.sh

只有輸入上面這行命令,終端纔會知道此文件是腳本文件,成爲終端可讀,纔會當它是命令行處理,下面執行腳本開發

zhangjinzhao:shellDemo ZhangJinzhao$ makeProjectDir.sh

4)此時咱們就能夠看到桌面上咱們建立的shellDemo文件夾,裏面有咱們建立的簡單分類,不只如此咱們如今能夠在任何文件夾下執行這個指令都會生成此類文件分類(辛苦這一次,之後是否是很便捷呢)ast

zhangjinzhao:shellDemo ZhangJinzhao$ makeProjectDir.sh

5)注意:若是在此時,咱們從新打開一個終端想要執行上面指令以前要先執行下面指令,這時候在新的終端下,纔會承認咱們以前那個終端的操做class

zhangjinzhao:Scenes ZhangJinzhao$ source ~/.bash_profile

以上就是咱們利用簡單的shell語言,編寫可以快速建立項目分類的一個指令.

下面咱們再利用shell語言,解決一個小小的實際問題.

當咱們每次建立一個工程的時候,同時會生成一對Appdelegate(.h,.m)文件,此時咱們導入剛剛建立的項目分類文件夾的時候,我想要把這對Appdelegate文件,相應的放到咱們的/classes/Appdelegate文件夾裏面.

1)首先再次打開咱們以前建立的makeProjectDir.sh,進行以下操做

#! /bin/bash

#shell腳本

mkdir classes && cd classes
mkdir Appdelegate General Helpers Marco Models Resources Scenes Verdors

#當前路徑是在classes裏面,要取到上一級(..)的appdelegate文件,移動到classes下的appdelegate文件夾下
#mv 原文件   目的文件
mv ../AppDelegate.h Appdelegate/Appdelegate.h
mv ../AppDelegate.m Appdelegate/Appdelegate.m

#echo 在終端輸出一段文字
echo "建立項目文件夾成功"

2)咱們打開終端,回到桌面下,在系統下追加一個本身的路徑

zhangjinzhao:Desktop ZhangJinzhao$ vim ~/.bash_profile

3)進入以後,輸入下面

#在系統環境變量後面追加一個路徑
export PATH="$PATH:/Users/lanou3g/Desktop/shellDemo"

4)此時咱們就能夠創建一個項目文件夾,以後終端在項目文件夾下執行下面指令,就能夠成功建立項目分類文件,而且把對應的Appdelegate文件,相應的放到咱們的/classes/Appdelegate文件夾裏面.

zhangjinzhao:Desktop ZhangJinzhao$ cd /Users/lanou3g/Desktop/text/textProject/textProject 
zhangjinzhao:textProject ZhangJinzhao$ makeProjectDir.sh
建立項目文件夾成功
zhangjinzhao:textProject ZhangJinzhao$

另外咱們還能夠再寫一個shell文件,之後咱們能夠經過指令建立出Views Models Controllers三個文件夾

1)在以前的shellDemo裏面再建立一個shell文件

zhangjinzhao:shellDemo ZhangJinzhao$ vim makeModule.sh

2)進入後輸入

# !/bin/bash

#判斷是否傳入一個參數
#$1 是調用腳本時傳進來的第一個參數
# shell中得腳本 判斷if 時須要和test組合起來
if test $1
then
    #判斷結果是yes 會執行這兒
    mkdir $1
    cd $1
    mkdir Views Models Controllers
    echo "$!模塊建立成功"
else
    #判斷結果是no 會執行這兒
    echo "請輸入一個模塊名稱"
fi

3)以後(上面提到過,必定要執行如下)

zhangjinzhao:shellDemo ZhangJinzhao$ chmod +x makeModule.sh

4)而後執行下面指令查看是否成功

zhangjinzhao:shellDemo ZhangJinzhao$ cd ..
zhangjinzhao:Desktop ZhangJinzhao$ cd /Users/lanou3g/Desktop/text/classes/Scenes 
zhangjinzhao:Scenes ZhangJinzhao$ makeModule.sh 首頁
模塊建立成功
zhangjinzhao:Scenes ZhangJinzhao$

至此咱們就完成了利用shell指令對建立項目文件夾的便捷建立,總結之後,咱們再建立文件夾,就簡便多了

1)當咱們隨便的建立了一個項目以後,在對應的終端內輸入如下指令,便可建立一個名爲classes(本身設置的)項目文件夾

zhangjinzhao:textProject ZhangJinzhao$ makeProjectDir.sh

2)再在對應的項目文件夾下面,對應的終端內輸入如下指令,便可建立對應的 Views Models Controllers文件夾,例如:

zhangjinzhao:Scenes ZhangJinzhao$ makeModule.sh 首頁

再次強調: 若是指令不生效的時候,也許你是在一個新的終端進行的操做,此時別忘了在前面加上一個

zhangjinzhao:shellDemo ZhangJinzhao$ source ~/.bash_profile
相關文章
相關標籤/搜索