精华内容
下载资源
问答
  • Linux shell 变量引用

    2019-07-17 10:49:13
    Linux shell 变量引用 样例代码:3-7.sh 需要注意的是variable3赋值的字符串中the后是两个空格! #!/bin/bash # variable="this is the first variable." echo $variable # variable2="this is the second variable....

    Linux shell 变量引用

    样例代码:3-7.sh
    需要注意的是variable3赋值的字符串中the后是两个空格!

    #!/bin/bash
    #
    variable="this is the first variable."
    echo $variable
    #
    variable2="this is the second variable."
    echo $variable2
    #
    variable3="this is the  third variable."
    echo $variable3
    echo $variable2 $variable3
    echo "$variable2 $variable3"
    exit 0
    

    运行结果:

    lishixin@lishixin:~/桌面$ bash 3-7.sh 
    this is the first variable.
    this is the second variable.
    this is the third variable.
    this is the second variable. this is the third variable.
    this is the second variable. this is the  third variable.
    

    解释:

    前两个输出没有什么疑问,就是正常的输出!
    $variable3的输出会发现正常只有一个空格将单词隔开!这是因为IFS(内部域分隔符)默认的就是空白(空格或者换行)!所以系统在运行的时候将多余的空格忽略掉了!
    但是,如果使用双引号来引用变量的话,防止所引用的变量被分割,这些在双引号中的变量会被系统作为一个参数进行传递。

    为了验证其真实性,可以在脚本的开始设置IFS=’,’,使内部域分隔符为逗号,这样的,字符串中的空格就会被保留!

    大体上是这个意思,解释的不是很专业,也可以参考其他书籍!

    展开全文
  • Linux Shell变量类型

    千次阅读 2021-01-23 10:53:31
    Linux Shell 变量的类型 自定义变量类型 定义变量变量名=变量变量名必须以字母或者下划线开头,区分大小写 引用变量: $变量名 或者$(变量名) 查看变量: echo $ 变量名 set(包括自定义变量和环境变量) ...

    Linux Shell 变量的类型

    1. 自定义变量类型
      定义变量: 变量名=变量值 变量名必须以字母或者下划线开头,区分大小写
      引用变量: $变量名 或者$(变量名)
      查看变量: echo $ 变量名 set(包括自定义变量和环境变量)
      取消变量: unset环境变量
      作用范围: 仅在当前shell中有效
    [root@localhost ~]# vartest=123456
    [root@localhost ~]# echo $vartest
    123456
    [root@localhost ~]# echo ${vartest}  //在当前shell中起作用
    123456
    [root@localhost ~]# bash
    [root@localhost ~]# echo $vartest    //在子shell中不起作用
    
    [root@localhost ~]# exit
    exit
    [root@localhost ~]# echo ${vartest}
    123456
    
    
    1. 环境变量
      定义环境变量: 方法一 : export back_dir2=/home/test
      方法二 : export back_dir1 将自定义变量转换为环境变量
      引用环境变量: $变量名 或者$(变量名)
      查看环境变量: echo $ 变量名
      取消环境变量:unset 变量名
      变量作用范围:在当前shell和子shell有效
    [root@localhost ~]# export back_dir=/home/backup
    [root@localhost ~]# test_dir=/opt
    [root@localhost ~]# export test_dir
    [root@localhost ~]# echo $back_dir
    /home/backup
    [root@localhost ~]# echo $test_dir
    /opt
    [root@localhost ~]# env
    XDG_SESSION_ID=8
    HOSTNAME=localhost.localdomain
    SELINUX_ROLE_REQUESTED=
    HOME=/root
    back_dir=/home/backup
    [root@localhost ~]# unset back_dir   //取消环境变量
    [root@localhost ~]# unset test_dir
    [root@localhost ~]# echo $test_dir   //环境变量已取消 无输出
    
    [root@localhost ~]# echo $back_dir
    
    [root@localhost ~]# 
    
    
    展开全文
  • LINUX SHELL 变量的二次引用

    千次阅读 2019-02-13 10:16:40
    感叹号的使用 aaa=123 bbb=aaa echo $bbb echo ${!bbb} eval的使用 aaa=123 bbb=aaa echo $bbb eval ccc=\${$bbb} echo $ccc 输出结果都是下面的情况: aaa 123 参考:...
    1. 感叹号的使用
    	aaa=123  
    	bbb=aaa  
    	echo $bbb  
    	echo ${!bbb}  
    
    1. eval的使用
    	aaa=123  
    	bbb=aaa  
    	echo $bbb  
    	eval ccc=\${$bbb}  
    	echo $ccc  
    
    • 输出结果都是下面的情况:
       aaa
       123
    

    参考:https://blog.csdn.net/yizhou35/article/details/48466629

    展开全文
  • Linux shell 变量 数学 运算

    千次阅读 2017-02-22 20:36:14
    1) Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算; 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算; 1, Linux shell 变量的基本运算 数值作为常规变量...
    Abstract : 
    
    1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算;
    2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算;

    1, Linux shell 变量的基本运算

    数值作为常规变量直接赋值给变量,并且以字符串形式保存。

    1.1 let 命令可以用于直接执行基本操作:
            
    当我使 用 let 的时候,我们不使用 $ 符号引用变量。

    1. no1=7;
    2. no2=8;

    3. echo "------------ let command -------------"
    4. let no1++;
    5. let no2--;
    6. let no1+=3;
    7. let no2-=5;
    8. let result=no1+no2;
    9. printf "let result=%d\n" $result;


    1.2 " [ ] "运算符跟 let 命令很相似:

    "[ ]" 运算符里面可以使用 $ 符号引用变量,同时支持变量名与运算符之间不带空格。

    1. echo "----------------- [] operator ----------------"
    2. printf "no1:%d no2:%d \n" $no1 $no2;
    3. result1=$[ no1 + no2 ];
    4. printf "result1 = %d \n" $result1;
    5. result2=$[no1+no2 + 7];
    6. printf "result2 = %d \n" $result2;
    7. result3=$[ $no1+$no2+];
    8. printf "result3 = %d \n" $result3;
    9. no2=$[ no2 + 1 ];
    10. printf "no1 = %d no2 = %d \n" $no1 $no2;


    1.3 " (( )) " 运算符跟 " [ ] " 运算符一样:
    同样支持使用 $ 符号引用变量进行基本运算,同时支持变量名与运算符之间不带空格
    1. echo "----------------- (( )) operator --------------"
    2. printf "no1: %d no2: %d \n" $no1 $no2;
    3. result1=$(( no1 + no2 ));
    4. printf "result1 = %d \n" $result1;
    5. result2=$((no1+no2+3));
    6. printf "result2 = %d \n" $result2;
    7. result3=$(( $no1+$no2 + 5))
    8. printf "result3 = %d \n" $result3;


    1.4 "expr" 命令同样可以用于变量的基本运算:
    "expr" 命令同样支持 $ 符号引用变量进行基本运算,但是变量与运算符之间必须使用空格作为分隔符;
    在使用 "expr" 命令对变量进行运算后,整个表达式必须使用 " · expression · " 的模式赋值给变量,即包含在 " ` " 符里面,
    并且等效于 " $( expression ) " 模式。


    1. echo "---------------- expr command ---------------"
    2. printf "no1: %d no2: %d \n" $no1 $no2;
    3. result1=`expr 3 + 4`;
    4. printf "result1 = %d \n" $result1;
    5. result2=`expr $no1 + 4`;
    6. printf "result2 = %d \n" $result2;
    7. result3=`expr $no1 + $no2`;
    8. printf "result3 = %d \n" $result3;
    9. result4=`expr $no1+$no2`;
    10. printf "result4 = %d \n" $result4;
    11. result5=$(expr $no1 + 3);
    12. printf "result5 = %d \n" $result5;
    13. result6=$(expr $no1+4);
    14. printf "result6 = %d \n" $result6;
    15. result7=$(expr $no1+$no2);
    16. printf "result7 = %d \n" $result7;

    由上图实验结果所示," expr " 命令的表达式中,变量与运算符之间必须使用空格作为分隔符,
    有一点我没搞明白的就是为什么42行的表达式已经错了,为什么在43行才报错。

    " expr " 还支持许多运算表达式,大家在终端打个 expr --help 命令看看吧,o(∩_∩)o 哈哈。。。

    上面所述的四种shell中执行变量运算的方式中不支持浮点运算!

    2, Linux shell 中使用 bc 命令实现高级数学运算:

    bc 命令使用 标准输入 stdin 作为输入;
    bc 是一个支持精确的浮点运算的高级计算器;
    bc 拥有相当多的输入选项,并且支持数学函数调用;
    执行 bc --help 自行查看 bc 所支持的输入选项;

    2.1 bc 命令使用标准输入 stdin 作为输入,并且支持浮点运算:
    1. echo "----------------- bc command ----------------"
    2. echo "4 * 0.56" | bc;
    3. no=48;
    4. result1=`echo "$no * 1.5" | bc`;
    5. echo "result1 = $result1";


    2.2 bc 命令支持运算精度设置:

    通过附加参数可以给 bc 指定运算精度;
    附加参数使用分号 " ; " 作为分隔符;

    1. result2=`echo "scale=9;$no / 3;" | bc`;
    2. echo "result2 = $result2";


    实验结果所示,使用分号 " ; "  加入附加参数 scale ,指定精度为 9 位小数;

    2.3 使用 bc 进行数值的记数进制间转换:

    通过 ibase=value 作为附加参数,指定输入变量的记数进制;
    通过 obase=value 作为附加参数,指定输出变量的记数进制;

    1. no=100;
    2. echo "echo \"obase=2;ibase=10;$no\" | bc = `echo "obase=2;ibase=10;$no" | bc`";
    3. no=1000;
    4. echo "echo \"scale=5;obase=10;ibase=2;$no/3\" | bc = `echo "scale=5;obase=10;ibase=2;$no/3" | bc`";


    2.4 使用 bc 调用数学公式进行高级数学运算:

    " sqrt(value) " 执行 value 的开方运算;
    " value^index " 执行 value 的幂运算;

    1. echo "sqrt(100) = `echo "sqrt(100)" | bc`";
    2. echo "sqrt(100) = $(echo "sqrt(100)" | bc)";
    3. echo "10^3 = `echo "10^3" | bc`";
    4. echo "10^3 = $(echo "10^3" | bc)";

    展开全文
  • linux shell 变量

    2016-04-29 11:56:09
    在日常的shell编写时,或多或少会用到变量,变量有哪些类型,怎么定义,如何使用,围绕这三个接单记录下,方便后续过程中查询 ...变量引用 echo $test 直接$变量名 变量类型 环境变量局部变量位置变量
  • Linux shell变量数学运算 Abstract :  1) Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算; 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算; 1, Linux ...
  • shell共三个引用符号,双引号,单引号和反引号`(在英文状态下tab键之上,1键之左的那个键)。 双引号"":引用除了美元符号$,反引号`和反斜杠\之外的所有字符。 单引号'':引用所有的字符。 反引号``:shell将反引号...
  • Linux shell变量详解

    2019-03-14 20:16:52
    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。...
  • linux shell 字符串作变量名 间接变量引用.pdf
  • linux shell 变量设置

    2008-05-08 13:18:00
    linux shell变量设置如下变量名=字符串如girl=syna (无需引号)boy=“$syna”hello(引用别的变量的方法)unset boy(取消变量内容)如:unset boyalias:别名可以为很长的命令取一个简短的别名如alias l=“ls -...
  • Linux Shell 变量自加

    千次阅读 2017-11-21 11:02:13
    Linux Shell中写循环时,常常要用到变量的自增,现在总结一下整型变量自增的方法。 我所知道的,bash中,目前有五种方法: 1. i=`expr $i + 1`; 2. let i+=1; 3. ((i++)); 4. i=$[$i+1]; 5. i=$(( $i
  • shell变量的名称以一个字母或者下划线符号开始,后面可以接任意长度的字母,数字和下划线。 与其它的程序语言设计不同的是,shell变量没有名称长度的限制。 Linux Shell并不对变量进行区分类型。一切值都是字符串...
  • Linux Shell变量和运算符笔记

    千次阅读 2009-12-08 15:43:00
    1、本地变量:在用户现在的shell声明周期的脚本中使用$ localtest="test"$ echo ${localtest}test$ readonly localtest$ locatest="tests"bash: localtest: 只读变量$ set$ readonly2、环境变量:用于所有用户进程...
  • 【shell脚本学习】2.linux shell变量

    千次阅读 2012-06-25 22:54:14
    1.shell已经定义好的环境变量 shell在开始执行时就已经定义好了一部分变量,这部分变量可以直接使用,也可以重新定义,常用的shell环境变量如下:   HOME:用于保存用户宿主目录的完全路径名,比如用户 admin,...
  • linux shell eval 命令 字符串作为命令执行》 https://blog.csdn.net/whatday/article/details/105459629 实例: #!/bin/bash name=yushuang var=name # 要获取到yushuang res=`eval echo '$'"$var"...
  • 文章目录Linux Shell CentOS 文件包含 引用其他脚本 变量 函数1、写法2、写法2 Linux Shell CentOS 文件包含 引用其他脚本 变量 函数 1、写法 . 脚本位置 // 例如 . /usr/local/deploy/install.sh 2、写法2 ...
  • shell变量 1.变量定义: 变量即在程序运行过程中它的值是允许改变的量,变量是用一串固定的字符来标志不固定的值的一种方法,变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储scripts运行时可...
  • outputlinux shell 解决 $ 引用 变量 产生 歧义input鸟哥-鸟哥的Linux私房菜 基础学习篇 3ed|301algov=haha echo $vhehe echo "$v"hehe echo ${v}hehe输出 (空) hahahehe hahahehe
  • Linux Shell编程变量赋值和引用

    千次阅读 2013-11-12 20:41:23
    我们可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #!/bin/sh  ...  注意:最好使用“!/bin/bash”而不是“!/bin/sh”,...
  • shell变量设置和引用

    千次阅读 2019-09-06 10:47:00
    shell变量引用:echo $COLOR或者echo ${COLOR},大括号是为了区分变量和其他字符 自定义变量: 自定义变量是自己命名的变量,不能够与系统中已有的变量同名。 自定义变量的设置:Day=Friday,使用习惯是首字母...
  • linuxshell变量之传参

    2017-11-14 13:23:00
    linuxshell变量$#,$@,$0,$1,$2的含义解释 摘抄自:ABS_GUIDE linuxshell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束...
  • linux shell自带变量

    2015-12-04 18:01:12
    $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 $! Shell最后运行的后台P
  • linux shell变量的使用规则

    千次阅读 2018-01-31 16:21:00
    声明 变量的使用规则 1.变量变量内容以一个等号”=”连接 2.等号两边不能存在空格字符 3.变量名称只能是英文字母或者数字,但是开头字符不能是数字 ...7.在一串命令中如果想引用其它命令,可以使用...
  • Linux Shell变量

    2015-06-22 12:30:27
    Shell中的变量分为环境变量、位置变量、预定义变量和自定义变量四种。 Shell默认变量的类型是字符串,也就是说,所有赋给变量的值都被视为字符串。而且shell没有内置的算术运算,即+-*/等符号同样被视为普通字符,...
  • 文章目录1....引用变量:$变量名或者${变量名} 查看变量:echo $变量名 set(所有变量:包括自定义变量和环境变量) 取消变量:unset变量名 作用范围:仅在当前shell中有效 # ip1=1.2.34.1 # echo $...
  • Linux Shell之echo,变量

    万次阅读 2017-03-31 17:28:46
    本文通过一些简单的demo来学习两种 Linux Shell 在终端echo打印信息的方式并简单介绍了shell变量的概念。 由于目前本人学识有限,可能理解和总结并不全面,如有错误或不足,敬请指正补充,不吝赐教。   echo ...
  • 1、查看全局环境变量  printenv 2、显示单个环境变量的值  echo $SHELL 3、启动和退出shell 启动新的shell bash ...退出子shell exit ...4、显示为某个特定进程设置的所有环境变量(全局环境...echo $test(引用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,498
精华内容 22,599
关键字:

linuxshell变量引用

linux 订阅