导航:首页 > 操作系统 > linux脚本变量定义

linux脚本变量定义

发布时间:2023-05-12 23:57:24

Ⅰ 知道linux 脚本中 ${#xxx[@]} 是什么意思吗

题主你好,

xxx应该是一个数组, ${#xxx[@]}应该是输出xxx数世漏大组中元素的个数.

我举了个例子,题主可以参考一下:

希望可以帮到题主搜冲, 欢迎追问搜竖.

Ⅱ linux脚本文件中export变量的作用是什么

  1. export用于声明一个环境变量:

  2. export variable=value

  3. 该环境变量只在本进程和其子进程中可以访问。

  4. 如果是在系统级的配置文件中,如/etc/profile中export 一个变量,那么这个槐仔脊变量就会在整个系统运行期间都起作用。

  5. 如果在用户级~/.bash_profile之类的文件中,则每次启动shell都会去读这个文件,所以每次打开shell也是可以取到这个值的。

  6. 如果在某一次运行戚老中,手动export一铅渗个变量,则只在这次shell的使用中,才能访问这个变量,或者在该shell启动的其他程序中,也是可以访问这个变量的,因为它们是这个shell的子进程。

Ⅲ Linux环境变量定义问题

一.暂时使用

亦即重启或注销后就失效了。

使用 PATH=$PATH:目录:目录... 直接赋值。如export PATH=$PATH:/sbin。

二.长期使用

在全局文件 /etc/profile 中或用户自定义文件 ~/.bash_profile 中添加上述命令即可!

Ⅳ linux中的shell变量的种类及各种类的用处是什么

2.1.1 本地变量
定义:是在用户现在的shell生命期的脚本中使用;
例:[redhat@server redhat]$name="Red Hat Linux" #把变量设置为Red Hat Linux
[redhat@server redhat]$echo ${name} or #显示变量内容
=[redhat@server redhat]$echo $name #等同上面的语意
Red Hat Linux #显示其设定内容,
[redhat@server redhat]$set | grep "name" #查看刚才所设定的内容,或不加'grep "name"'查看用户自己所有的本地变量,
[redhat@server redhat]$readonly name #把name这个变量设置为只读变量,不允许再次设置,这可参考变量定义;-_-!
[redhat@server redhat]$name="He SenLin" #重新赋值
bash:name:readonly variable #只读文件系统
[redhat@server redhat]$readonly #查看系统存在的只读文件
附:重新登录一下系统,再次用
[redhat@server redhat]$echo ${name}
#本地变量就不存在了,
说明本地变量只能存活在用户shell的生命周期中,重登录就不在了,
2.1.2 环境变量
定义:环境变量用于所有用户进程<通称为子进程>,包括编辑器,脚本和应用,登录进程为父进程,shell中执行的用户进程均为子进程,不像本地变量只用于现在的shell.
存在目录在所有用户的主目录下<即/home>/.bash_profile或
如何设置环境变量?第一种方法就是编辑上面的二个文件,还可以用"export"进行设定或更改;这可不像本地变量只需 name="Red Hat Linux"那样简单,但却可以把本地变量更改为环境变量;只须在本地变量结束后,输入:export <变量名>;例,我们把name由本地变量修改为环境变量,我们可以这样做;
[root@server root]#name="Red Hat Linux" #本地变量
[root@server root]#export name #变量name由本地升为环境
当然也可以用下面这种方法;
[root@server root]#export name="Red Hat Linux" #直接定义name为环境变量;
定义后,可通过env进行查看,不知道上面的本地环境变量由哪个命令进行查看你记住了没有?,演示一下查看现在定义的环境变量;
[root@server root]#env | grep "name"
Red Hat Linux
同样不加后面grep "name",这个参数也是查看所有的环境变量;更同样的是我们也可以运行readonly这个参数给name以只读属性;
Tips:环境变量就是全部包含在本地变量中<因为它即可运行中父进程中也可运行于子进程中>,注意一点,本地变量不能运行在全部进程中,只有环境变量可以,再不懂就联想一下人与自然吧;-_-!还是不会?用绝招:
[root@server root]#you=myfriend #设置本地变量name为myfriend
[root@server root]#echo ${you} #查看一下是否成功
myfriend #成功
[root@server root]#sh #更换shell环境等同重登录,这相当一个
sh-2.05b#echo $you #用户子进程
#没显示,说明不存在,真的不存在?
sh-2.05b#exit #返回bash环境
[root@server root]#echo $you #再次查看;
myfriend #又出来了,怎么回事?
[root@server root]#export you #把变量you设为环境变量;
[root@server root]#sh #再试一次;
sh-2.05b#echo $you
myfriend #ok,you see?
再不懂,,你就把我杀了吧,,什么,你不知道我住在哪?汗-_-!
再补充一点,就是在sh进程中设置环境变量是可以写回bash环境中,因为bash是父进程,只有老的才有小的,小的怎么才能有老的哩?<长大了就有老的喽,哦,也对!..乱语>
2.1.3 变量替换
定义:用变量的值替换它的名字.
查看方式:echo <通用本地,环境...>
可以用echo显示可以单个变量的取值;
[root@server root]#str="this is example" #设置本地变量
[root@server root]#echo "can you see `echo $str`" #显示
cat you see this is example #替换就到这了,不明白明再来
变量替换续
除了上面的这个方式以外还有五种哦;别急,一个一个来;-_-!<先说好,偶不是皮条>
格式 定义
${variable name} 显示实际值到variable name 1

${variable name :+value} 如果设置了variable name,就把value显示,
未设置则为空; 2
${variable name:-value} 如果设置了variable name,就显示它,未设置就显示
value<仅显不存本地中>>; 3
${variable name:?value} 未设置提示用户错误信息value; 4
${variable name:=value} 如未设置就把value设置并显示<写入本地中>, 5
变量清除:
unset <变量name>
[root@server root]#echo $name #变量 name是否存在?
Red Hat Linux #存在
[root@server root]#unset name #清除name变量
[root@server root]#echo $name #是否成功
#成功
注意:如果用readonly限制了只读属性就会失败,还有怎么从环境变量中去掉那个变量呢?还记的用哪个设定环境变量的吗?对.export,只须在它后面加"-n"参数即可
2.1.4 位置变量
定义:位置变量表示$0,$1,$2,....$9
$0 $1 $2 $3 $4
脚本名 A B C D
向脚本中使用位置参数;
向系统命令传递参数;
例:./test<在程序中进行替换>
[root@server root]#vi /test #创建并编辑/test文件
#!/bin/bash
#test
echo "这是脚本的第一个名称: $0"
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
echo "这是脚本的第四个位置参数: $3"
echo "这是脚本的第五个位置参数: $4"
[root@server root]#chmod u+x ./test #加执行权限;
[root@server root]#./test A B C #加参数证验
echo "这是脚本的第一个名称: ./test
echo "这是脚本的第二个位置参数: A
echo "这是脚本的第三个位置参数: B
echo "这是脚本的第四个位置参数: C
echo "这是脚本的第五个位置参数:
<向系统命令中传递位置参数>
[root@server root]#vi test1.sh #新建一个脚本文件
#!/bin/bash
#name:test1.sh
#to call: test1.sh 755 #使用方式
find ~ -perm $1 -print
$2 #系统命令
[root@server root]#chmod u+c test1.sh
[root@server root]#./test1.sh 755 date #位置一为755,2位date
/dev/ip
/dev/iput
.
.
.
Fri May 13 2:31:54 CST 2006

2.1.5 标准变量:
bash默认建立一些环境变量就是标准变量,可以通俗的说就是不是你加的而是装好机子带的那些环境变量, 可在/etc/profile中进行定义,
命令 意义
HOME 用户主目录
IFS 默认分隔符
MAIL 邮箱地址
MAILCHECK 邮箱检查间隔
PWD 用户当前工作目录
LOGNAME 当前用户登录名
2.1.6 特殊变量
命令 意义
$# 传递到脚本的参数列表
$? 前个命令执行情况,0成功,其它值失败
$$ 脚本运行的当前进程号
$! 运行脚本最后一个命令
$* 显示脚本全部参数
2.1.7 影响变量的命令
declare 设置或显示变量
-f 只显示函数名
-r 创建只读变量
-x 创建转出变量
-i 创建整数变量
使用"+"代替"-",可以颠倒选项的意思,-r除外,
export 用于传递给子shell的变量
-- 表明选项结束,所有后续参数都是实参,
-f 表明在"名-值"对中的名字是函数名,
-n 把全局变量转换成局部变量,换句话就是不再传给shell
-p 显示全局变量列表,
shift
用于移动位置变量,调整位置变量,使$3的值赋给$2.$2的值赋予$1.

[root@server root]#vi /test
#!/bin/bash
#test
echo "这是脚本的第一个名称: $0"
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
echo "这是脚本的第四个位置参数: $3"
echo "这是脚本的第五个位置参数: $4"
shift
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
[root@server root]#chmod u+x ./test
[root@server root]#./test A B C
echo "这是脚本的第一个名称: ./test
echo "这是脚本的第二个位置参数: A
echo "这是脚本的第三个位置参数: B
echo "这是脚本的第四个位置参数: C
echo "这是脚本的第五个位置参数: $4"
shift #显示的时候并没有,加在此只会明了
echo "这是脚本的第二个位置参数: B
echo "这是脚本的第三个位置参数: C
给shfit加一个数试一下:
[root@server root]#vi ./test
#!/bin/bash
#test
echo "这是脚本的第一个名称: $0"
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
echo "这是脚本的第四个位置参数: $3"
echo "这是脚本的第五个位置参数: $4"
shift 2
echo "这是脚本的第二个位置参数: $1"
echo "这是脚本的第三个位置参数: $2"
[root@server root]#./test A B C D
echo "这是脚本的第一个名称: ./test
echo "这是脚本的第二个位置参数: A
echo "这是脚本的第三个位置参数: B
echo "这是脚本的第四个位置参数: C
echo "这是脚本的第五个位置参数: D
shift 2 #显示的时候并没有,加在此只会明了
echo "这是脚本的第二个位置参数: C
echo "这是脚本的第三个位置参数: D

第二节 引号
2.1 引号的必要性
2.2 双引号有什么作用
2.3 单引号的作用
2.4 反引号的作用
2.5 反斜杠的作用

Ⅳ linux脚本时间变量调用

你的变量定义格式有误,变量调用系统命令时的格式:

TIME=$(date-d'1dayago'"+%Y%m%d")

TIME=`date-d'1dayago'"+%Y%m%d"`
#推荐使用第一种方式,看起来比较直观也容易避免一些问题

完整的脚本如下:

在/root/目录下创建名为 tar_log.sh的sh文件

#!/bin/bash
TIME=$(date-d'1dayago'"+%Y%m%d")
logdir="#日志存放位置"
cd$logdir/
tar-zcfip-${TIME}.tar.gzip-${TIME}.txt

crontab 设置如下:

0000***/bin/bash/root/tar_log.sh

Ⅵ Linux_Shell脚本编程之设置环境变量

1、export 变量名 = 变量值(功能描述:将shell变量输出为环境变量/全局变量)
2、source 配置文件 (功能描述:让修改后的配置信息立即生效)
3、echo $变量名 (功能描述:查询环境变量的值)

1、在/etc/profile文件中定义TOMCAT_HOME环境变量

2、查看环境变量TOMCAT的值

3、在另外一个shell程序中使用 TOMCAT_HOME

注意:文档多行注释

Ⅶ 如何正确在Linux Shell脚本中定义一个时间变量

1、创建脚本 test.sh,并入截图内容。

Ⅷ Linux Shell 中如何定义整型变量

if [ $tmp -lt 10 ] 变量前面加$号

Ⅸ linux脚本文件中怎么从文件中读取数据并赋值给变量

linux脚本文件中,从文件中读取数据并赋值给变量的操作方法和步骤如下:

1、首先,创建一个名.shell.sh的文件:vi shell.sh,如下图所示。

阅读全文

与linux脚本变量定义相关的资料

热点内容
怎样制作贴天花板的解压球 浏览:337
服务器如何打开苹果 浏览:96
高响应比算法的实现 浏览:848
windows写命令行 浏览:61
腾讯天津数据中心服务器云空间 浏览:974
单片机扫描按键 浏览:386
如何设置google服务器 浏览:695
linuxtrace工具源码 浏览:178
源码第二次开发 浏览:784
如何获取网页php源码 浏览:729
还用飞那么源码 浏览:204
云服务器镜像可以随时更换吗 浏览:92
r600a压缩机多少钱 浏览:237
程序员那么可爱第几集在重庆相遇 浏览:674
上班两公里源码 浏览:817
南宁溯源码燕窝订制 浏览:933
在个人文件夹中新建文件 浏览:445
中国国家地理pdf下载 浏览:107
几套房子抵押可以解压其中一套吗 浏览:569
微爱app室外地板怎么装饰 浏览:231