Shell中变量的使用
1、变量的声明
name="blacksonny"
注意://变量定义时不加$,变量与等号之间不能有空格
变量命名规则:
- 首个字符必须为字母(a-z,A-Z)。
- 中间不能有空格,可以使用下划线(_)。
- 不能使用标点符号。
- 不能使用bash里的关键字(可用help命令查看保留关键字)
2、 使用变量
如果要使用变量,在该变量前加上$即可,也推荐使用${name}
如:$name
#!/bin/bash
#description: use variable
#Author: blacksonny
#Copyright (c)
#Script follows here: name="blacksonny"
echo $name
echo ${name}
上面的代码之后后同时输出 blacksonny,其中对于{}是可有可无的,一般为了界定变量的边界而使用
如下代码区分变量和Programm,否者无法获取变量的值
for book in Java Php Android iOS
do
echo "I will study ${book}Programm"
done
3、变量的重新定义,shell允许重新定义变量,与定义变量的方法一样,只是将原来的变量重新赋值即可
4、只读变量
通过使用readonly关键字定义一个只读变量
number=
readonly number
number=
运行var.sh 结果为: 【 ./var.sh:行24: number: 只读变量】,提示此变量不允许被修改了。
5、删除变量
使用unset var_name可以删除变量
6、变量类型
1)局部变量
2)环境变量
3)shell变量
Shell中变量的使用的更多相关文章
- 在shell中变量的赋值有五种方法!
转至:https://blog.csdn.net/weibo1230123/article/details/82085226 在shell中变量的赋值有五种 :使用 read 命令,直接赋值,使用命令 ...
- shell编程学习笔记(二):Shell中变量的使用
变量在很多编程语言中都有,Shell中也不例外,我们下面看一下Shell中的变量怎么使用: 以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容: # cd /opt/scripts # vi ...
- linux学习(八)Shell中变量的数学运算
目录 常见的运算符 expr命令 @(Shell中变量的数学运算) 常见的运算符 环境变量 说明 + 加 - 减 * 乘 / 除 % 取模 因为Shell中将*作为通配符使用, expr命令 expr ...
- [SHELL]shell中变量的使用
1.输出变量 : #! /bin/bash my_var=BOB echo $my_var echo "hi,$my_var" echo "the price is \$ ...
- shell中变量的测试与替换
在某些时刻我们经常需要判断某个变量是否存在,若变量存在则使用既有的设置,若变量不存在则给予一个常用的设置. (1) 变量未被设置或者内容为空,则替换为新的内容. new_var=${old_var-c ...
- shell 中变量前"?"的作用
example: if ($?USER == 0 || $?prompt == 0) then .... if ( $?DS_HOME != 0 ) then if ( ${? ...
- Shell中变量扩展操作
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir ...
- shell中变量内容的删除,替代
删除 ${varname#strMatch} // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置 ${varname##strMatch} // 在varname中从头 ...
- shell中变量字符串的截取 与 带颜色字体、背景输出
字符串截取 假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 /及其左边的字符串:dir ...
随机推荐
- Android文档资源大放送 感兴趣的话可以网盘下载(个人收集)
Google.Android.SDK开发范例大全.第3版源码.rar http://pan.baidu.com/s/1c0epYzm 精通Android 3中文版(Pro Android 3).pdf ...
- linux定时任务2-at命令
定时执行命令: [root@rheltest1 ~]# at now + 1 minute //一分钟后执行下面的任务 at> date >> /tmp/test_date.log ...
- Java多线程——多线程的基本概念和使用
一.进程和线程的基础知识 1.进程和线程的概念 进程:运行中的应用程序称为进程,拥有系统资源(cpu.内存) 线程:进程中的一段代码,一个进程中可以有多段代码.本身不拥有资源(共享所在进程的资源) 在 ...
- ExecuteNonQuary接收存储过程的输出类型的变量的值
1.设置所调用的存储过程需要的参数 public decimal CreateOrder(string orderId, int userId, string address) { SqlParame ...
- SQL语句添加删除修改字段及一些表与字段的基本操作
用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200)2.删除字段 ALTER TABLE table_NA ...
- 第一个androidAPP项目总结—数据请求
1.使用 ShenBuLuoHttpImpl.getMHttpImpl(context).getAddressList(mod.getCouponCode(), new HttpAfter() { @ ...
- (转)linux下导入、导出mysql数据库命令
原文链接:http://www.xiaohuai.com/2902 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用 ...
- ods_yx给用户分配表空间、权限用户等工作内容。
1.登陆运维审计 huang_cb.bl hac12345 2.找到81.35 root-admin nwsj*2013 3.打开oracle EMC工具,使用ods_yx用户登陆进EMC里面的 ...
- RTSP协议资料
维基百科: RTSP:http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol RTP:http://en.wikipedia.org/wik ...
- 监听UITabBarItem来拦截是否要跳转
情景是这样的: 我需要在用户点击"我的"的时候, 判断是否已经登录, 如果没有, 就不进入该界面, 而是跳转到用户登录界面, 所以这里我需要进行UITabBarItem点击事件的拦 ...