Shell变量赋值
命名须规则:
1)使用变量无需事先声明
2)首个字符必须为字母(a-z,A-Z)
3)中间不能有空格,可以使用下划线(_)
4)不能使用标点符号
5)不能使用bash里的关键字(可用help命令查看保留关键字)
6)需要给变量赋值时,可以这么写:
7)变量名=值
8)取一个变量的值,只需在变量名前面加一个$ ( 注意: 给变量赋值的时候,不能在"="两边留空格 )
例1:(变量赋值)
#!/bin/sh 
# 对变量赋值: 
a="hello world" #等号两边均不能有空格存在 
# 打印变量a的值: 
echo "A is:" $a 
挑个自己喜欢的编辑器,输入上述内容,并保存为文件first,然后执行 chmod +x first 使其可执行,最后输入./first 执行该脚本。
其输出结果如下: 
"A is: hello world "

例2:(区别变量)
错误用法:
有时候变量名可能会和其它文字混淆,比如:
num=2 
echo "this is the $numnd" 
上述脚本并不会输出"this is the 2nd"而是"this is the";
这是由于shell会去搜索变量numnd的值,而实际上这个变量此时并没有值。

正确用法:
num=2 
echo "this is the ${num}nd" 
其输出结果为:
"this is the 2nd"
[
注意:
花括号的位置?
num=2 

echo "this is the {$num}nd" 

其输出结果为:this is the {2}nd

]

例3:(变量值作为数字)
需要注意shell的默认赋值是字符串赋值。
错误方式:
var=1 
var=$var+1 
echo $var 
打印出来的不是2而是1+1。
正确方式:
1)let "var+=1" 
2)var=$[$var+1]   
3)var=`expr $var +1`#注意加号两边的空格,否则还是按照字符串的方式赋值。[暂时无效] 

注意:前两种方式在bash下有效,在sh下会出错。[注意:我的虚拟机中:/bin/sh->/bin/bash]
let表示数学运算;
$[]将中括号内的表达式作为数学运算先计算结果再输出;
expr用于整数值运算,每一项用空格隔开;[暂时无效]

[置顶] shell变量赋值-linux的更多相关文章

  1. shell变量赋值 不能有空格的原因

    典型例子: a=date echo $a      成立 a =date echo $a     不成立 其实原因很简单 shell在解释命令时的原则是第一个符号标记只能是程序或者命令,有空格的时候第 ...

  2. shell 变量赋值运算

    .变量赋值: name=lbg 等号前后不能有空格 name="Lebron James" 变量值中有空格要用双引号 echo ${name} 用${}更保险 shopt -s - ...

  3. [置顶] ruby变量详解(收集+整理)

    ruby的变量有局部变量,全局变量,实例变量,类变量,常量. 1.局部变量 局部变量以一个小写字母开头或下划线开头 局部变量有局部作用域限制(比如一个block内),它的作用域起始于声明处,结束于该声 ...

  4. shell变量赋值进阶

    首先,要理解shell中变量的3种赋值情况: unset 例子. unset a 空字符串, null 例子. a='' 非空,即不是unset,并且不是空字符串 例子: a=1 or a=b等 然后 ...

  5. [置顶] 第一天初试linux

    1).unix  linix  macos android 的区别 Unix是要收费的,而linix是一种开源免费的unix ,macos 和andorid又是linux的一种,macos闭源,仅仅是 ...

  6. [置顶] *p++/*++p区别-linux

    #include <stdio.h> main() { char * s = "123456"; char * p; p = s; printf( "%c\n ...

  7. Shell变量概述

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

  8. 精通awk系列(14):细说awk中的变量和变量赋值

    回到: Linux系列文章 Shell系列文章 Awk系列文章 awk变量 awk的变量是动态变量,在使用时声明. 所以awk变量有3种状态: 未声明状态:称为untyped类型 引用过但未赋值状态: ...

  9. (转载)shell变量基础—shell自定义变量

    (转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...

随机推荐

  1. Google Web Designer 测试

    这东东完全就是一个flash啊,简单测试,感觉就是个做HTML5动画的..不过暂时是beta版的, 官方安装版的半天打不开,这边有个绿色版的,需要的童鞋可以这里下载:百度网盘

  2. Java源代码分析与生成

    源代码分析:可使用ANTLRANTLR是开源的语法分析器,可以用来构造自己的语言,或者对现有的语言进行语法分析. JavaParser 对Java代码进行分析 CodeModel 用于生成Java代码 ...

  3. js在本地预览图片

    移动web <body> <form enctype="multipart/form-data" name="form1"> 上传文件: ...

  4. Echart..js插件渲染报错 data.length<1?

    问题 getJSON提交 返回数据正常,在传入参数进行序列化,渲染报表时报错 option.data.length < 1. 分析  1.可能情况一: . 可自己明明是getJSON()把渲染放 ...

  5. stream_context_create解决file_get_contents超时处理

    stream_context_create作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置.代理服务器.请求方式.头信息设置的 ...

  6. 虚拟机配置网络 vmware 【nat方式】

    先看下物理机和虚拟机网卡的设置: 虚拟机操作系统: 联网方式: 好了,现在进入正题,配置: 首相配置/etc/sysconfig/network-scripts/ifcfg-eth0,这里配置ip和d ...

  7. SNA社交网络算法

    社交网络需要用到igraph库,所以需要安装.可以在lfd的网站 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 上下载python_igraph,具体的pyth ...

  8. 使用自定义《UIActivity》进行内容分享-b

    简介 这段时间有很多朋友都问我关于怎么去集成ShareSDK或者友盟社会化分享SDK的问题, 其实我想说, Apple一开始就提供了一个类, 供我们去使用分享了, 在iOS 6之后更加增强了这个类, ...

  9. iOS项目架构文档

    设计的项目架构主要引用MVVM+MVC架构,并以功能模块分级.以下为目录结构. 初级目录: 我们只需要关注SGZH文件夹下的目录,其他为Xcode管理的目录.可以看到此目录为项目初级目录,我们开发过程 ...

  10. hibernate的formula如何使用

    之前用过hibernate的formula记得很好用,但是这次用到想不起来怎么用了,结果去网上查结果发现大多都是无用信息. 最终搞定了,还是在这里记录一下,省的忘记. 我用formula的目的在于字典 ...