shell-2.shell定义变量

Shell 变量

${#var} 可计算出变量值的长度:

1.变量的定义

变量名="赋值给变量的内容"  (字符串)
变量名=’赋值给变量的内容‘  (字符串)
变量名=数值                (数值)

【注意】:变量名和等号之间不能有空格

2.变量名的命名规范
·首个字符必须为字母(a-z,A-Z)。
·不能使用标点符号。
·中间不能有空格,可以使用下划线(_),最好不要用特殊字符,可读性差。
·不要使用bash里的关键字

3.【实例】
name="yuanji"
age=20

4.使用变量
$变量名
${变量名}  #推荐使用这种形式

【实例】
[[email protected] yuanji_shell]# cat second.sh
#!/bin/sh
name="yuanji"
age=20
src=‘shell‘

echo $name
echo $age
echo ${name}

echo "My name is $name,age is $age. This is $srcProgram"
echo "My name is $name,age is $age. This is ${src}Program"

显示结果
[[email protected] yuanji_shell]# sh second.sh
yuanji
20
yuanji
My name is yuanji,age is 20. This is  【这里没有正常显示】
My name is yuanji,age is 20. This is shellProgram

5.执行命令赋值给变量(反引号``:  将命令执行结果输出给变量)
【实例】
整个文件读入一个变量,然后直接打印,也很容易理解,
a=`cat test.txt`;echo $a

6.重新定义变量(已定义的变量可以重新赋值)
[[email protected] home]# name="yuanji"
[[email protected] home]# echo $name
yuanji
[[email protected] home]# name="Tom"   
[[email protected] home]# echo $name
Tom

7.取变量值赋值给另一个变量
[[email protected] ~]# name="yuanji"
[[email protected] ~]# new_name=$name
[[email protected] ~]# echo $new_name
yuanji

以下几个部分在后续内容介绍
例如在sed和awk中使用变量,
将mysql的数据传到变量中
将文件中的内容传到变量中(对应处理文件问题,个人很少用shell,基本都是用perl或者python。 因为这不是shell的强处)

以上是个人点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。

我的QQ:610851588
  可以加入我建的群(现在群人很少,希望慢慢多起来)
  Linux  群:183932302
  Python ,shell 交流群:469094734

时间: 2024-08-29 21:07:49

shell-2.shell定义变量的相关文章

Shell之declare定义变量

实验环境 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 命令说明 declare 与 typeset 命令都是bash的内建命令(builtin commands),两者所实现的功能完全一样,用来设置变量值和属性.typeset现已弃用,由declare进行替代,可查看帮助手册: ~]# help typeset typeset: typeset [-aAfFgilrtux] [-p] name[=value]

linux shell自定义函数(定义、返回值、变量作用域)介绍

http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以

转 linux shell自定义函数(定义、返回值、变量作用域)介绍

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu

shell语法—shell 定义变量及调用变量

可执行文件开头第一行一般我们会指定用什么解释器来执行该文件比如shell脚本的文件开头一般会加#!/bin/sh 运行shell 是会遇到三种变量 1.局部变量,在脚本或命令中定义,仅在当前shell实例中有效,其他shell 启动的程序不能访问局部变量. 2.环境变量,所以的程序,包括shell启动的程序,都能当问环境变量,有些程序需要环境变量来保证其正常运行,必要的时候shell脚本也可以定义环境变量. 3.shell变量,是有shell程序设置的特殊变量,shell变量中有一部分是环境变量

Linux Shell 自定义函数(定义、返回值、变量作用域)介绍

定义Shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1. 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2. 参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. return后跟数值n(0-255). 示例(test_fun.sh): #!/bin/sh fSum 3 2; fSum() { ec

shell脚本中定义路径变量出现的BUG

=========================================================================== if 语句中的定义路径变量 引发命令的PATH路径改变出现的bug 问题 原脚本文件:inotify +rsync 实时共享 #!/bin/bash PATH=/data/ IP=172.16.1.41 cd $PATH &&\ 切换到一个新的变量中了 /usr/bin/inotifywait -mrq --format '%w%f' -e

shell 定义变量 坑

debugDir = "/debugExamples" releaseDir = "/releaseExamples" docDir="../../../mew_devdata/interfaceDoc/" for path in `ls` do if test -d $path then echo 'test package '$path cd $path ./test.sh cd .. rm -r $docDir$path$debugDir

Shell脚本定义变量和环境变量的引用

一.定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: ?首个字符必须为字母(a-z,A-Z). ?中间不能有空格,可以使用下划线(_). ?不能使用标点符号. ?不能使用bash里的关键字(可用help命令查看保留关键字). 变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况: for s

shell编程概述以及变量

动态语言:解释型语言,是一种弱类型的语言,特性:边解释边执行.例如:PHP.SHELL.python.perl 弱:变量用时声明,甚至不区分类型. 强:变量在使用前,必须事先声明,甚至还需要初始化 bash:本身就是一个软件,脚本解释器. shell脚本是面向过程的. bash变量类型: 环境变量 本地变量(局部变量) 位置变量 特殊变量 本地变量: VARNAME=VALUE;作用域:整个bash进程 局部变量 local VARNAME=VALUE:作用域:为当前代码段 环境变量:作用域为当