美文网首页程序员
shell脚本学习001

shell脚本学习001

作者: zolobdz | 来源:发表于2018-11-05 15:08 被阅读12次

    前言

    作为一个非科班出身的开发工程师,需要恶补的学科和知识其实还是很多的,计算机网络,算法,数据结构等等。做iOS很久最近想到一个问题,当我们写模型的,面对文档的一大串json,要手写建造模型其实是一件很浪费时间的事情(当然了,听说oc可以用Mantle)。

    可怕的模型转换

    于是乎想自己借着这个机会接触下脚本,搞一个生成模型文件的shell脚本。本系列文章纯属学习笔记,所以希望读者带着批判的眼神来看,多多指导和给出意见~

    开始

    hello world !

    一切语言于这个哈喽沃德,lets begin with the easy way!

    #!/bin/bash
    echo "Hello World !"
    

    名词解释

    1. #!是一种约定的符号,表示后面使用某一种解释器来执行下面的脚本,所以/bin/bash就是一种解释器。bash是一种shell解释器,常见的还有sh,csh,ksh,tcsh布拉布拉。特别#!/bin/bash必须写在第一行!
    2. echo 是输出语句,输出的内容可以用" "包裹,也可以不用。

    运行

    保存我们书写的内容到桌面(也可以自己指定)。这里我们先命名为test.sh。打卡终端。cd到桌面目录下。输入./test.sh./表示执行。

    # dyd @ saoxianshengs-MacBook-Pro in ~/Desktop [13:32:48]
    $ ./test.sh
    zsh: permission denied: ./test.sh
    

    WTF:permission denied。百度回来后,我们需要切换权限。操作指令是:
    chmod +x scriptName
    即键入:
    chmod +x test.sh
    然后再 ./执行脚本

    运行结果

    我们再试着加入一个终端输入指令read,执行下面代码:

    #!/bin/bash
    echo "hello world"
    read p
    echo 'tokyo cold' = $p
    

    执行:


    运行中断,等待输入,按enter执行 输入后得到结果,嗯,这很批判

    这里解释下read pread应该是一个关键字,表示中断脚本执行,需要用户在终端中输入内容,按enter结束,p可以理解成临时变量,用来装载输入的内容,后面一行用 $p来使用它的值。

    [参考文献]
    http://c.biancheng.net/cpp/view/6998.html

    相关文章

      网友评论

        本文标题:shell脚本学习001

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