Blogger Information
Blog 75
fans 0
comment 0
visits 55250
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
小猿圈shell之 shell变量、字符串以及git GUI运行脚本方式
聆听的博客
Original
954 people have browsed it

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基础篇学起,站在一个小白的角度写的,相信即使是小白,也可以透透彻彻的学习,感觉不错的朋友可以去小猿圈官网上学习一下,希望对你收获很大。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post