分享

Linux Shell:变量的赋值

 tycoondeng 2022-06-13 发布于广东

Shell变更的赋值方式有五种:直接赋值、从键盘读取赋值、使用命令行参数赋值、利用命令的输出结果赋值和从文件中读入数据赋值。

1.直接赋值:第一次使用变量时,实际上就是给变更赋值。

直接赋值格式:变量名=变量值

举例:

a=3

意思是将赋值运算符(=) 右侧的变量值(3),赋给左侧的变量(a)

2.从键盘读取赋值:就是从键盘读入输入的内容来赋值。

从键盘读取赋值格式:read -p [提示信息]:[变量名]

举例:

# cat ping03.sh

#!/bin/bash

read -p "Input IP:" ip

ping -c1 $ip &>/dev/null      # 将ping 的结果放在/dev/null (称为垃圾箱)

if [$? ==0 ] ;then       # $?的意思是上一条命令的返回值,如果返回值为0,表示主机正常;否则表示宕机

    echo "Host $ip is OK!"

else 

    echo "Host $ip is Fail!"

fi

# chmod a+x ping03.sh

# ./ping03/sh

Input IP: 192.168.1.10

Host 192.168.1.10 is OK!

3.使用命令行参数赋值:直接在命令行后面跟参数,系统用$1来调用第一个参数,用$2来调用第二个参数,这种赋值方法适用于参数经常变化且不需要交互的情况。

举例:使用命令行参数赋值

# cat test.sh 

echo $1 $2

# chmod a+x test.sh

# ./test.sh qf tianyun

4.利用命令和输出结果赋值:在shell程序中,可以将一个命令的输出结果当作变量的值,不过需要赋值语句中使用反向单引号。这种赋值方法可以直接处理上一个命令产生的数据。

举例:利用命令的输出结果赋值

# cmd=`date +%F`

# echo $cmd

2022-06-12

# echo `date +%F`.tar.gz

2022-05-12.tar.gz

5.从文件中读取数据赋值:直接把相应的数据写入文件中,通过脚本中的命令把文件中的数据读取到脚本程序中使用。

通常是通过while循环一行一行读入数据,即每循环一次,就从文件中读入一行数据,直到读取到文件的结尾。

举例:从文件中读取数据赋值

# vim file.sh

#!bin/bash

ls *.sh >execfiles

while read LINE

do 

    echo $LINE

done <execfile

在shell中,定义或引用变量时,要注意:

一、要想显示变量的值,使用双引号;

二、单引号里的内容,原样输出;

三、反引号里的内容,shell命令优先执行。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多