欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell--2--shell变量 定义变量 使用变量 只读变量 删除变量 变量类型 Shell字符串 shell函数

程序员文章站 2024-03-15 17:54:06
...

Shell变量

@1变量即在程序运行过程中它的值是允许改变的量

@2变量是用一串固定的字符来表示不固定的值的一种方法

@3变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息

@4在shell中变量是不能永久保存在系统中的,必须在文件中声明

定义变量

变量名不加$,如:

Name=”rnunoob.com”

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程都不一样,同时,变量命名必须遵循如下规则:

@1命名只能使用英文字母,数字和下划线,首歌字符不能以数字开头

@2中间不能有空格们可以使用下划线(_)

@3不能使用标点符号

@4不能使用bash里的关键字

除了显式地直接赋值,还可以用语句给变量赋值:

for file in ‘ls  /etc’

for  file in $(ls /etc)

以上语句将/etc下目录的文件名循环列出来

使用变量

使用一个定义过的变量,只要在变量名前面加上$符号就可以了,如:

Name=“xue”

echo  $Name

echo  ${Name}

变量名外面的花括号时可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:

For skill in Ada Coffe Action Java;do

Echo “I am good  at   $(skill) Script”

Done

只读变量

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

删除变量

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

Unset  变量名;

变量被删除之后不能再次使用,unset命令不能被删除只读变量。

变量类型:

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

  1. 局部变量 局部变量在脚本或命令中定义,仅仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量
  2. 环境变量所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证器正常运行,必要时shell脚本也可以定义环境变量
  3. Shell变量shell变量是由shell程序设置的特殊变量,shell中由一部分是环境变量由一部分是局部变量,这些变量保证了shell的正常运行

Shell字符串

单引号 : 原样输出但单引号字符中不能出现一个单独的引号

双引号:双引号可以由变量,可以出现转义字符

拼接字符串

ideol="world"
greet="hello "$ideol""
greet_1="hello ${ideol}"
echo $greet $greet_1
greet_2='hello,'$ideol''
greet_3='hello,${ideol}'
echo  $greet_2 $greet_3

输出结果:

hello world hello world
hello,world hello,${ideol}

获取字符串长度

string="abds"
echo ${#string}

输出:4

提取字符串

echo ${string:2:4} 输出ds

查找字符串:

echo `expr index "$string" d`  输出3 d在第三,以找到的第一个为准

Shell注释

@1#单行注释

@2多行注释:

:<<EOF
注释内容
注释内容
EOF

注意:EOF可用其他字符替换

Shell脚本中的函数

脚本中的函数是把一个复杂的语句块定义成一个字符串的方法

下面这个例子中定义了一个函数:

Host_Message()
{
        read -p "[E]xit [U]ser  [H]ostname:" Action
        Action=`echo $Action|tr 'a-z' 'A-Z'`
        [ "$Action" = "E" ]&& exit
        [ "$Action" = "U" ]&& echo You are $USER
        [ "$Action" = "H" ]&& hostname
        Host_Message
}
Host_Message

输出结果:
 

[E]xit [U]ser  [H]ostname:u
You are root
[E]xit [U]ser  [H]ostname:h
localhost
[E]xit [U]ser  [H]ostname:e

shell--2--shell变量 定义变量 使用变量 只读变量 删除变量 变量类型 Shell字符串 shell函数

shell--2--shell变量 定义变量 使用变量 只读变量 删除变量 变量类型 Shell字符串 shell函数