Linux系统中SHELL命令或脚本中关于$理解
来源:互联网 发布:十代思域18寸轮毂数据 编辑:程序博客网 时间:2024/05/20 19:48
*在使用执行shell命令或脚本时,shell的解释器会现将$param,替换为$param所表示的值到要执行shell命令或脚本中如下面三个例子,$HOSTNAME表示的值为:server01所以,a值为:server01;b值为:$HOSTNAME;c值为:server01。之所以c与a同,b与a不同,是因为''中的字符仅表示字符本身,而""中字符如$表示其后面一串连续[0-9a-zA-Z_]字符串为变量,shell解释器会将$连接的变量,替换到命令或脚本中再去执行。[root@server01 ~]# a=$HOSTNAME[root@server01 ~]# echo $aserver01[root@server01 ~]# b='$HOSTNAME'[root@server01 ~]# echo $b$HOSTNAME[root@server01 ~]# c="$HOSTNAME"[root@server01 ~]# echo $cserver01说下一些要注意的小问题!a='a1'ab='ab2'$a毫无疑问值为a1,$ab是用$a的值连接'b',还是使用$ab的值。如果是前面则结果为:a1b。下面是结果:[root@server01 ~]# a='a1'[root@server01 ~]# ab='ab2'[root@server01 ~]# echo "$a"a1[root@server01 ~]# echo "$ab"ab2所以$后连接的变量名正则表达式为:[a-zA-Z_][0-9a-zA-Z_]* 。[root@server01 ~]# echo $ab,cab2,c[root@server01 ~]# echo $ab_c[root@server01 ~]# echo $ab3c[root@server01 ~]# echo $abAc因为','不匹配,所以shell解释器在','停止,并取其前面的字符串ab的$值。后面三个都匹配了正则表达式,断这三个变量尚未赋值所以为空。再说下,上面的正则表达式: [a-zA-Z_][0-9a-zA-Z]* 并不完善。因为如果以下划线'_'开头的变量其长度最少为2,页就是说不能只用一个'_'表示变量,虽然可以赋值但没有结果。[root@server01 ~]# _=6[root@server01 ~]# echo $_[root@server01 ~]# _9=4[root@server01 ~]# echo $_94[root@server01 ~]# _a=3[root@server01 ~]# echo $_a3[root@server01 ~]# __=0[root@server01 ~]# echo $__0最后正则表达式为: ([a-zA-Z]|_[0-9a-zA-Z_])[0-9a-zA-Z_]*下一篇是SHELL下单双引号与正则表达的纠缠
0 0
- Linux系统中SHELL命令或脚本中关于$理解
- 在linux shell脚本中root切换到普通用户执行脚本或命令
- Linux Shell脚本中,远程调用脚本或命令,并使后台执行
- linux中shell脚本批处理命令
- linux C中调用shell命令和运行shell脚本
- linux C中调用shell命令和运行shell脚本
- linux C中调用shell命令和运行shell脚本
- linux C中调用shell命令和运行shell脚本
- linux C中调用shell命令和运行shell脚本
- 菜鸟的Shell脚本之路---向linux系统中添加dos2unix和rz,sz命令
- java代码中执行shell或调用系统命令
- SHELL脚本中exec命令
- Shell脚本中命令代换
- 关于linux系统bash shell编程中开头#!/bin/bash的理解
- LINUX Shell脚本中点号和source命令
- Linux Shell脚本中点号和source命令
- Linux Shell输出命令结果到脚本变量中
- Linux Shell脚本中点号和source命令
- 网络编程三要素整理
- 1079. Total Sales of Supply Chain 解析
- 搭建 Asp.net 云服务器
- 剑指offer 24. 二叉搜索树的后序遍历序列
- Enum(枚举类型)的基本应用
- Linux系统中SHELL命令或脚本中关于$理解
- IGN评史上最佳100 RPG
- 2017/5/9
- redis 安装以及phpredis拓展安装
- ajax访问后台,数据放到map中,map明明有值, 前台获取的为null
- 机器学习模型优化中常见问题和解决思路
- HTTP2.0 HTTPS学习
- 《Python编程:从入门到实践 》[Eric Matthes著] 中文pdf非扫描版
- 【消息队列MQ】从MQ种类说起