Shell基础(一)

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

1,eg: #!/bin/sh

    #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。

2,linux中的bash它是一个shell,人机对话的窗口,它是一个程序,是一个gnu软件,一般linux中默认shell就是bash

运行shell脚本的两种方式:

  • 作为可执行程序
  1. 赋予执行权限
  2. 执行脚本

eg:

chmod 777 hello.sh

./hello.sh

  • 作为解释器参数

eg:

/bin/bash hello.sh

3shell中的单双引号

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

单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

       2>双引号里可以有变量

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

4,~在linux中代表用户的主目录,也就是所说的家目录

       对于一般用户,~表示/home/用户名

       对于root用户,~表示/root

5,只读变量:使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

6,删除变量:使用 unset 命令可以删除变量

       eg:

#! /bin/bash

myUrl="http://www.baidu.com"

echo $myUrl

readonly myUrl

myUrl="http:www.taobao.com"

myUrl_1="http://www.runoob.com"

echo $myUrl_1

unset myUrl_1

echo $myUrl_1

 

       结果:

7,获取字符串长度,提取,查找子字符串      

 #! /bin/bash

#获取字符串长度

one="hello"

two="world"

echo ${#one}

#提取子字符串

echo ${two:2:4}

#查找字符o的位置

echo `expr index "$one" o`

结果:

 

8,数组:Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小

eg:      

 #! /bin/bash

one=(a b c "erwe")

echo ${one[2]}

echo ${one[3]}



#获取数组的元素

echo "数组的元素是:${one[*]}"

echo "数组的元素是:${one[@]}"



#获取数组的长度

echo "数组元素的个数为:${#one[*]}"

echo "数组元素的个数为:${#one[@]}"   

结果:

Shell基础(一)_第1张图片

你可能感兴趣的:(Shell)