shell是一个C语言编写的程序,咱们能够用这个应用程序来访问操做系统内核的服务shell
shell脚本,是一种为shell编写的脚本程序,咱们平时说的shell通常都是在说写shell脚本,而不是开发shellvim
(本质就是达到一个快速建立项目分类的目的)(如下指令均在终端中操做)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语言,编写可以快速建立项目分类的一个指令.
当咱们每次建立一个工程的时候,同时会生成一对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$
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$
1)当咱们随便的建立了一个项目以后,在对应的终端内输入如下指令,便可建立一个名为classes(本身设置的)项目文件夹
zhangjinzhao:textProject ZhangJinzhao$ makeProjectDir.sh
2)再在对应的项目文件夹下面,对应的终端内输入如下指令,便可建立对应的 Views Models Controllers文件夹,例如:
zhangjinzhao:Scenes ZhangJinzhao$ makeModule.sh 首页
zhangjinzhao:shellDemo ZhangJinzhao$ source ~/.bash_profile