shell变量注意事项
概念:变量赋值,变量替换,变量引用,命令替换
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变量注意事项的更多相关文章
- Shell变量的定义与赋值操作注意事项
1 shell变量是弱类型 * 声明变量不用声明类型 * 可以存储不同类型的内容 * 使用时要明确变量的类型 * 区分大小写 2 变量声明及赋值格式 2.1 格式 变量名=变量值 # 注意等号两侧不 ...
- Shell变量概述
目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...
- shell(一) shell变量
基本介绍 变量命名规范 变量名要求由字母.数字.下划线组成,尽量字母开头,有明确含义 注意:变量赋值时,等号前后不能有空格,变量名称不能和字体变量冲突 自定义变量 当前shell有效 1.定义变量 v ...
- 大数据学习(1)-shell脚本注意事项
1.变量=值 (例如STR=abc) 不用加引号,但此时空格不再是空格字符,特殊字符可用于转义 2.等号两侧不能有空格 3.变量名称一般习惯为大写 4.双引号和单引号有区别,双引号仅将空格脱意,单引 ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- shell变量
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- awk使用shell变量
awk使用shell变量 (可以计算浮点数) 其实在awk里,是不能直接使用shell变量的 方法是:awk -v 选项让awk 里使用shell变量 TIME=60 awk -v time=&qu ...
- shell变量详解
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...
随机推荐
- 0801 am使用tp框架对数据库增删改查
增添数据,3种方法 function Text3() { $m=D("info"); //1.使用数组 $attr = array( "code"=>&q ...
- [学习笔记] 七步从AngularJS菜鸟到专家(4和5):指令和表达式 [转]
这一篇包含了"AngularJS - 七步从菜鸟到专家"系列的第四篇(指令)和第五篇(表达式). 之前的几篇展示了我们应用的核心组件,以及如何设置搭建一个Angular.js应用.在这一部分,我们会厘 ...
- step by step 之餐饮管理系统五(Util模块)------附上篇日志模块源码
这段时间一直在修改日志模块,现在基本上写好了,也把注释什么的都加上了,昨天邮件发送给mark的园友一直报失败,老是退回来,真是报歉,如下图所示:
- Windows 8.1 应用再出发 - 视图状态的更新
本篇我们来了解一下Windows 8.1 给应用的视图状态带来了哪些变化,以及我们怎么利用这些变化作出更好的界面视图. 首先我们来简单回顾一下Windows 8.0 时代的视图状态: 上图中, ...
- Java 修改Windows注册表,以实现开机自启动应用程序。
使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...
- 时间格式转化 String2datestyle
时间格式转化成string工具类: package cn.javass.util; import java.text.DateFormat; import java.text.SimpleDateFo ...
- 使用Process类重定向输出与错误时遇到的问题 (转)
程序中要调用外部程序cmd.exe执行一些命令行,并取得屏幕输出,使用了Process类,基本代码如下: Process process = new Process(); process.StartI ...
- Dynamic CRM 2013学习笔记(五)禁止修改、删除审批通过后的单据
审批通过后的单据,一般要对其进行控制,不能修改,不能添加,删除等,下面分别介绍下如何实现: 一. 禁止修改: 1. 主表控制,如果页面上审批状态为审批中或审批通过,就把整个页面都disable掉 1: ...
- [HtmlUnit]Fetch Dynamic Html/Content Created By Javascript/Ajax
import com.gargoylesoftware.htmlunit.*; import com.gargoylesoftware.htmlunit.html.HtmlPage; import j ...
- WPF Dispatcher 一次小重构
几个月之前因为项目需要,需要实现一个类似于WPF Dispatcher类的类,来实现一些线程的调度.之前因为一直做Asp.Net,根本没有钻到这个层次去,做的过程中,诸多不顺,重构了四五次,终于实现, ...