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

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

shell变量注意事项的更多相关文章

  1. Shell变量的定义与赋值操作注意事项

    1 shell变量是弱类型 * 声明变量不用声明类型 * 可以存储不同类型的内容 * 使用时要明确变量的类型 * 区分大小写 2 变量声明及赋值格式 2.1 格式  变量名=变量值 # 注意等号两侧不 ...

  2. Shell变量概述

    目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...

  3. shell(一) shell变量

    基本介绍 变量命名规范 变量名要求由字母.数字.下划线组成,尽量字母开头,有明确含义 注意:变量赋值时,等号前后不能有空格,变量名称不能和字体变量冲突 自定义变量 当前shell有效 1.定义变量 v ...

  4. 大数据学习(1)-shell脚本注意事项

    1.变量=值 (例如STR=abc)  不用加引号,但此时空格不再是空格字符,特殊字符可用于转义 2.等号两侧不能有空格 3.变量名称一般习惯为大写 4.双引号和单引号有区别,双引号仅将空格脱意,单引 ...

  5. shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)

    如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...

  6. shell变量

    定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...

  7. linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

  8. awk使用shell变量

    awk使用shell变量  (可以计算浮点数) 其实在awk里,是不能直接使用shell变量的 方法是:awk -v 选项让awk 里使用shell变量 TIME=60 awk -v time=&qu ...

  9. shell变量详解

    1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...

随机推荐

  1. C#保存Base64格式图片

    .前端页面代码 /** * 通过图片本地路径获取图片真实大小,并进行压缩 */ function getLocalRealSize(path, callback) { var img = new Im ...

  2. 云计算和大数据时代网络技术揭秘(八)数据中心存储FCoE

    数据中心存储演化——FCoE   数据中心三大基础:主机 网络 存储 在云计算推动下,存储基础架构在发生演变 传统存储结构DAS.SAN在发展中遇到了布线复杂.能耗增多的缺点(原生性),需要对架构做根 ...

  3. CodeForces 742B Batch Sort

    B. Batch Sort time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  4. JavaScript-插入concat,splice,截取slice

    拼接和截取:concat 拼接: var newArr=arr.concat(值1,值2,值3,值4,.....); 将值1值2,以及arr2中每个元素一次拼接到arr1结尾,返回新数组 强调: 1. ...

  5. Find Minimum in Rotated Sorted Array leetcode

    原题链接 直接贴代码,这道题是 search in rotated sorted array leetcode 的前面部分! class Solution { public: int findMin( ...

  6. jQuery学习总结(二)

    简单选择器: 在使用jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的CSS 规则. 而CSS 规则作为参数传递到jQuery 对象内部后,再返回包含页面中对应元素的jQuery 对象 ...

  7. iOS 开发者必知的 75 个工具(译文)

    原文地址:http://benscheirman.com/2013/08/the-ios-developers-toolbelt (需FQ)   如果你去到一位熟练的木匠的工作室,你总是能发现他/她有 ...

  8. nginx+php 安装手册

    http://www.cnblogs.com/hxl2009/archive/2013/06/11/3131627.html  [mysql安装] php 安装 1: wget http://ftp. ...

  9. Unix时间戳与C# DateTime时间类型互换

    Unix时间戳最小单位是秒,开始时间为格林威治标准时间1970-01-01 00:00:00ConvertIntDateTime方法的基本思路是通过获取本地时区表示Unixk开始时间,加上Unix时间 ...

  10. 递归获取XML元素

    看到的一道题,用递归获取XML元素.... static void Main(string[] args) { string xmlContent = @"<FileSystem> ...