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. Jquery操作单选按钮(Radio)的取值赋值实现代码

    1.获取选中值,三种方法都可以: $('input:radio:checked').val(); $("input[type='radio']:checked").val(); $ ...

  2. javascript下动态this与动态绑定实例代码

    this 的值取决于 function 被调用的方式,一共有四种, 如果一个 function 是一个对象的属性,该 funtion 被调用的时候,this 的值是这个对象. 如果 function ...

  3. React新接触

    html5页面的开始引入: <script src="../build/react.js"></script>   <!--核心库--> < ...

  4. Python开发之--前端 HTML基础

    一:HTML介绍 HTML:超文本标记语言,标准通用标记语言下的一个应用.包括"头"部分(英语:Head).和"主体"部分(英语:Body),其中"头 ...

  5. cygwin下的第一次编程记录

    今天在window7上安装了cygwin,体验了一把unix,编了个小c,c++程序 先把过程记录下来 1.先删除以前建立的source文件夹 rm -rf source linux删除目录很简单,很 ...

  6. 自设chrome默认滚动条样式

    今天无聊,想着chrome这种全面使用html的浏览器,可不可以让我自行改变它的默认CSS呢,结果去查查,有,很好 win7/8目录为 C:\Users\[你的用户名]\AppData\Local\G ...

  7. 写一个TT模板自动生成spring.net下面的配置文件。

    这个是目标. 然后想着就怎么开始 1.

  8. C++语言十进制数,CDecimal(未完成)

    在C#和Java中都有存在decimal类似的十进制数字,C++中尚未发现,春节假期忙里抽闲写了一个玩玩,时间紧迫没有测试,只能保证编译通过.抛砖引玉,欢迎大家多提建议 当前缺陷: 1. 除法功能没有 ...

  9. ios开发之C语言第4天

    自增和自减运算 自增运算符 ++ 自增表达式 1>.前自增表达式.     int num = 1;     ++num; 2>.后自增表达式     int num = 1;     n ...

  10. 三菱plc编程电缆通讯端口设置方法(转载)

    三菱plc编程电缆通讯端口如何设置?三菱plc编程电缆通讯端口设置方法 时间:2015-10-21 05:09:20编辑:电工栏目:三菱plc 导读:三菱plc编程电缆通讯端口的设置方法,三菱plc上 ...