Bash脚本

脚本

脚本语言 (Scripting language), 例如JavaScript是一门动态类型, 面向对象的脚本语言.一个脚本通常是解释运行而非编译.

写一个脚本

注意以下命令行的注释都不要写

  1. 在Desktop新建一个文件夹local, 然后cd到local创建一个文件demo.txt
mkdir local
cd local/  #一定要运行这个命令
touch demo.txt
复制代码
  1. 编辑demo.txt, 内容如下:
pwd #确认下当前路径, /Users/yjjtt/Desktop/local
vi demo.txt 或者直接open demo.txt 进行编辑demo.txt
在里面输入图中的五行命令,然后保存
复制代码

  1. (windows用户可以跳过这一步) 给demo.txt 添加执行权限 chmod +x demo.txt,如果不执行这一步,则无法运行此脚本,会提示permission denied: demo.txt
  2. 如果觉得demo.txt的txt后缀看着别扭,也可以去掉mv demo.txt demo这样执行 sh ~/Desktop/local/demo就可以了
mv demo.txt demo
sh ~/Desktop/local/demo
复制代码
  1. 如果觉得执行sh ~/Desktop/local/demo还是很麻烦, 可以将~/Desktop/local加到PATH里
  • 临时设置PATH
pwd #查看下loacl所在的绝对路径
export PATH="local的绝对路径:$PATH" # 这句话就是将local目录加到PATH里
复制代码

  • 永久设置PATH, 上面的PATH在重启Bash后就会失效
touch ~/.bashrc # 创建~/.bashrc
vi ~/.bashrc # 编辑~/.bashrc
在编辑器里写入 export PATH="local的绝对路径:$PATH"
source ~/.bashrc # 保存编辑,这句命令一定要写
demo # 运行demo
复制代码

PATH

  1. PATH的作用就是每次在Bash里面输入一个命令时, Bash都会去PATH列表里面去找对应的文件,找到了就执行, 脚本其实就是一个可执行的文件(ls, cd, mkdir..)
  2. 可以输入命令echo $PATH查看所有的路径,Bash就会在这些路径中依次查找
  3. type demo可以查看查找过程
  4. which demo可以看到查找结果

给脚本加个参数

上面的脚本demo只能创建一个demo的目录, 现在来让目录名是可变的.

vi demo # 编辑脚本
mkdir $1 # 将demo换成$1, $1就表示你传的第一个参数(目录名), 第二个参数就是$2,以此类推
cd $1 
mkdir css js
touch index.html css/style.css js/main.js
exit
# 同样是五行命令
复制代码

上面编辑完保存后, 直接demo xxx 就会创建一个名叫xxx的目录

判断目录是否存在

编辑demo, 注意下面的Bash脚本, 一个空格也不能多,一个也不能少

if [ -d $1 ]; then # 如果目录存在
	echo 'error: dir exists'
	exit 1 # 返回值1 代表错误代码为1 
else
    mkdir $1
    cd $1 
    mkdir css js
    touch index.html css/style.css js/main.js
    echo 'success'
    exit 0 # 返回值0 代表成功
fi
复制代码

转载于:https://juejin.im/post/5c0e6c5ef265da613b6f9bef

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值