博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell变量注意事项
阅读量:6870 次
发布时间:2019-06-26

本文共 1195 字,大约阅读时间需要 3 分钟。

概念:变量赋值,变量替换,变量引用,命令替换

variable=22

echo variable

可以在同一行设置多个变量.例如

va1=good   va2=chif va3=beijing  #需要用空格隔开,会降低可读性和可移植性

variable

echo $variable #变量替换

22

变量替换例子

logfile=err.log

echo “this is a err” >  $logfile

 

$variable是${variable}的简写形式

variable=value #赋值的时候=前后不能有空格,

variable =value #variable会被当做命令,=22成为命令参数

variable= value #value被当成命令执行,并且附带一个被赋值为空的环境变量variable

 

‘$variable’单引号全引用 - 变量替换会被阻止

“$variable”双引号半引用 -变量替换会发生

!/bin/bash

hello="A B  C    D"
echo $hello    # 显示 A B C D 变量替换不会保留空格
echo "$hello"  # 显示A B  C   D  变量引用会保留空格,变量替换发生

echo ‘$hello’ #显示$hello, 半引用,变量替换不会发生

A B C D

A B  C    D

$hello

 

[root@rhel download]# more show_va.sh

!/bin/bash
echo hello
echo $hello
echo "$hello"
echo "${hello}"

hello="A B  C    D"

echo $hello
echo "$hello"
echo '$hello'

va1=22 va2=33 va3=55

echo "va1=$va1 va2=$va2 va3=$va3"

#o_nu=1 2 3

#echo "o_nu is $o_nu"

o_nu=1\ 2\ 3

echo "o_nu is $o_nu"

un_o=  #声明变量,但没有初始化,未赋值的变量为null,不可理解为0

echo $un_0

 

一个变量的值可以作为某个长字符串中的一部分。如果它在长字符串的末尾,就可直接引用,例:

        $s=ing

        $echo read$s and writ$s

        如果在开头或中间,应该用花括号将该变量括起来:

        $dir=/usr/zhang

        $cat  ${dir}hr/m1.c

2.命令替换

         可以将一个命令的执行结果赋值给变量,两种形式:

       (1)倒引号

                 `命令表`

                  例:$dir=`pwd`

        (2)圆括号

                  $(命令表)

                  例:$dir=$(pwd)

for line in `cat file.txt` 等价于$(cat file.txt)

do

echo $line

done

转载地址:http://pasfl.baihongyu.com/

你可能感兴趣的文章
优化Android Studio
查看>>
zabbix二次开发-flask-获取告警
查看>>
我的友情链接
查看>>
java实现MD5加密处理
查看>>
实用JVM参数总结
查看>>
oracle 11g R2 64位 安装详细步骤
查看>>
Jpeg 库的解码OpenCL优化
查看>>
正则表达式
查看>>
『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81)
查看>>
交换机SPAN功能配置
查看>>
MySQL 架构组成—存储引擎
查看>>
基于数值分析思想对多项式求值的原理和应用进行探究
查看>>
vue-devtools vue开发调试神器
查看>>
PHP扩展模块的安装
查看>>
BGP基础操作
查看>>
SimpleXml项目
查看>>
php下使用PDO创建sqlite3数据库
查看>>
Istio技术与实践6:Istio如何为服务提供安全防护能力
查看>>
ISTP的重要作用
查看>>
驼峰设计 PPT美化
查看>>