美文网首页iOS开发程序员iOS学习开发
macOS编写一个好玩又实用的shell脚本

macOS编写一个好玩又实用的shell脚本

作者: 九剑仙 | 来源:发表于2017-08-08 17:30 被阅读263次

作为一个开发者,少不了终端操作,那么macOS系统可不可以像Windows系统一样,将终端指令保存成可执行文件呢?
答:能,但是稍有区别
先给大家写个简单的例子:创建文本文档,修改后缀名为.sh,使用记事本(Xcode、或其他专业软件)打开,添加如下代码,保存即可。

一个简单的脚本
那么,怎么运行这个脚本呢?
答:有两种方式。
第一种方式:打开终端,使用bash 脚本路径,直接打开。
第一种方式
第二种方式:打开终端,先开启文件的可执行权限chmod +x 脚本路径
修改之后,每次打开都可以直接将文件拖进终端回车即可执行
第二种方式
奇思妙想:创建一个将本地代码上传至远程仓库的shell脚本。
作为一个开发者,少不了代码管理,每一个项目,首次将代码上传至远程仓库的时候,都要输入一大堆git命令,那么能不能将这些git命令封装成一个shell脚本,直接执行呢?
答:能,并且简单高效。
先把代码粘贴出来:
#!/bin/bash
ll_git() {
    git init
    touch README.md
    git add README.md
    echo -n "输入远程链接地址:"
    read remoteUrl
    git remote add origin $remoteUrl
    git add .
    git commit -m "Initial commit"
    git push origin master --force
}

echo "是否使用简易操作 ? (y/n)"
read isShortcut

if [[ $isShortcut = "y" ]]; then

    echo "输入文件(夹)目录:"
    read path
    cd $path

    currentDic=$(pwd)
    if [[ $path = $currentDic ]]; then
        ll_git
    else
        echo "文件目录切换失败,请手动切换到目录文件夹并选择[非简易操作]:"
    fi

else

    ll_git

fi

执行效果如下:

使用shell脚本提交代码至远程仓库
当然,这些只是最基本的脚本应用,还有很多好玩的功能等着大家开发,如果有童鞋对脚本语言感兴趣,不妨看看下面两篇文章,写的很好。
脚本语言语法规则
一个不错的shell 脚本教程
觉得好,请给个star,谢谢!

相关文章

  • macOS编写一个好玩又实用的shell脚本

    作为一个开发者,少不了终端操作,那么macOS系统可不可以像Windows系统一样,将终端指令保存成可执行文件呢?...

  • 第一个shell

    编写一个shell脚本 shell脚本的开头一定要指定一个shell解释器 给shell脚本加执行权限 执行she...

  • Shell script + crontab实现Mysql定时备

    一、Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所...

  • shell脚本

    什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说...

  • 多命令处理

    编写shell脚本 执行脚本

  • Shell脚本语法

    1. Shell脚本简介Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所...

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • shell脚本练习-1

    1、编写shell脚本,计算1~100的和。 2、编写shell脚本,输入一个数字n并计算1~n的和。 3、写一个...

  • Shell 脚本入门: 编写格式和执行方式

    本文要点 Shell 脚本的编写规范 执行Shell 脚本文件的 3 种方式 与 区别 1. Shell 脚本的编...

网友评论

本文标题:macOS编写一个好玩又实用的shell脚本

本文链接:https://www.haomeiwen.com/subject/bnotrxtx.html