zoukankan      html  css  js  c++  java
  • shell脚本学习(一)

    shell脚本(shell script),是一种为shell编写的脚本程序.

    Shell编程只需要有一个文本编辑器和一个能够解释执行的解释器即可.

    我现在学习的是Bourne Agine Shell,即Bash,也是大多数Linux默认的shell.

    一般情况下人们不区分Bourne Shell和Bourne Agine Shell,像#!/bin/sh  和 #!/bin/bash.

    一:第一个shell脚本

    像学习大多数编程一样,从Hello World开始

    打开vi编辑器,新建一个test.sh,扩展名可以自己定,主要方便记忆,输入下面代码

    #!/bin/sh

    echo "Hello World"

    其中#!是一种约定标记,它告诉系统后面跟的路径指向的程序,即解释此脚本的解释器

    执行shell脚本:

    执行shell脚本,需要用户有执行的权限,所以要先更给下权限

    方法一: ./test.sh 其中./不能省去不能直接写test.sh

    方法二: /bin/sh test.sh 这种方式执行可以在编写test.sh时不写#!/bin.sh

    执行结果会输出 Hello world

    二: shell变量

    shell变量的定义,如 my_name="cat_crazy"

    注意:1)定义变量的时候=号两侧不能有空格

      2)变量名必须要以字母开头,大写或小写

      3)中间不能有空格,可以有下划线

      4)不能使用标点符号

      5)不能使用Bash保存的关键字

    使用变量: 在变量名前加$即可

      my_name="cat_crzay"

      echo $my_name

      echo ${my_name}

      其中{}是可选的,只是为了使程序更好的识别变量的边界

      变量的赋值是不能加$符号,只有使用的时候才能加$,即$my_name="cat"这样做会报错

    只读变量 :这个变量一旦声明为只读变量,那么就不能再此赋值

      例如 my_name="cat_crazy"

        readonly my_name

        my_name="cat"

      这样做程序会报错,this variable is read only

    删除变量 : 使用unset后跟变量名删除, 例如unset my_name

    shell字符串

      定义一个字符串可以使用单引号也可使用双引号还可以不写,单双引号区别和php类似.

      双引号的优点:1)双引号里可以有变量;2)双引号中可以使用转义字符

    shell数组(只支持一维数组)

      定义一个数组

      1) array_name=(1 2 3 4 ) 数组的值之间使用空格隔开

      2) array_name[0]=1

       array_name[1]=2

       注:下标可以不连续,但是必须要有,(最好使用整数作为下标,否则情况不知道怎么解释)

    shell注释

      shell注释就是在行首加#,shell没有多行注释

  • 相关阅读:
    剑指offer 44.知识迁移能力 翻转单词顺序列
    Spark Streaming 概述+DStream工作原理+与Storm对比+实时WordCount
    剑指offer 43.知识迁移能力 左旋转字符串
    剑指offer 42.知识迁移能力 和为S的两个数字
    剑指offer 41.知识迁移能力 和为S的连续正数序列
    剑指offer 40.知识迁移能力 数组中只出现一次的数字
    Spark 在yarn上运行模式详解:cluster模式和client模式
    10.25模拟赛
    线段树+Dfs序【p2982】[USACO10FEB]慢下来Slowing down
    线段树 (区间合并)【p2894】[USACO08FEB]酒店Hotel
  • 原文地址:https://www.cnblogs.com/catcrazy/p/6291339.html
Copyright © 2011-2022 走看看