小猿圈shell之 shell变量、字符串以及git GUI运行脚本方式

shell,是一个用C语言编写的应用程序,是用户使用linux的桥梁。所以呢,他既是一种命令语言,同时呢还是一种程序设计语言。shell脚本(shell script),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,shell和shell script是两个不同的概念。由于习惯的原因,简介起见,本文出现的“shell编程”都是指shell脚本编程,而不是指开发shell自身,注意两者的区别啊,小猿圈上有详细视频讲解。

    下面开始说一下shell用法。

    shell脚本开头呢,必须要注明自己用的是那个解释器。保存的文件后缀名为***.sh就好了。我用的是bash,所以开头需要注上#!/bin/bash

    然后就是输出了,跟php类似,echo就可以输出东西:echo "hello word!",就可以输出内容了。我是在windows上使用git GUI来运行的,具体运行方式为./test.sh,然后回车就运行了这个test.sh文件。最主要的是shell里没有类似php的;似得分界符,只要换行就是另外的输出了。

    再来就是shell中的变量问题了,跟php的变量命名规则差不多,唯一不同的就是不需要使用$开头来命名变量,但是输出或者使用变量的时候必须使用$。具体方式为your_name="alex"(变量命名),echo $your_name。还有就是咱们phper的习惯是命名时习惯性的会加上空格:$your_name = "alex";,但是这是不正确的,等号两边不能加上空格,加上就算是常规性的defined。刚刚开始用shell的时候很多人就经常踩进这个坑啦。另,变量还有一种输出方式:echo "${your_name} is my friend",其主要目的是为了帮助解释器识别变量边界。比较个性的是我们还可以使用readonly这个命令来使我们的变量只具有读的属性而不能修改,看起来比较高达上的样子。我们就可以用unset加变量名的方式来删除我们所定义的变量。接下来按照php的套路,我们最后要确定的就是变量的类型,按照官方解释如下:

运行shell时,会同时存在三种变量:

1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

    好的,然后就到了字符串这块了。其实不外乎获取字符串的长度,截取字符串,拼接字符串等有限的几个方面。在开始之前呢,还有一点需要提前说明的就是单双引号之间的区别和用途:

单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

单引号字串中不能出现单引号(对单引号使用转义符后也不行)。

双引号里可以有变量

双引号里可以出现转义字符

    字符串拼接与我们php的样式略微的有差异,那就是没有连接符:

your_name="qinjx"

greeting="hello, "$your_name" !"

greeting_1="hello, ${your_name} !"

echo $greeting $greeting_1

    获取字符串长度:

string="abcd"

echo ${#string} #输出 4

    提取子字符串(以下示例是从字符串第二个开始,截取四个字符):

string="runoob is a great site"

echo ${string:1:4} # 输出 unoo

    字符串查找(以下示例的“`”是Esc键下面的那个):

string="runoob is a great company"

echo `expr index "$string" is`  # 输出 8

这样的解释小编认为已经很清楚了,对shell脚本感兴趣的朋友,可以从这篇shell基础篇学起,站在一个小白的角度写的,相信即使是小白,也可以透透彻彻的学习,感觉不错的朋友可以去小猿圈官网上学习一下,希望对你收获很大。

你可能感兴趣的:(小猿圈shell之 shell变量、字符串以及git GUI运行脚本方式)