linux下变量名长度,Linux中shell的变量介绍

Linux中shell的变量介绍

发布时间:2020-06-24 16:20:39

来源:亿速云

阅读:112

作者:元一

这期内容当中的小编将会给大家带来有关Linux中shell的变量介绍,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

我们知道shell里面有许多变量,比如我们经常会用到的PATH变量,它的作用就是,它的作用是设置可执行文件的目录,这样输入命令的时候就不用使用绝对路径了。除此之外,shell还有许多其他的变量。今天,来和大家讨论下shell变量。

分类

我们知道,php里面有局部变量和全局变量的区分,shell里面和php非常类型,有环境变量、普通变量。环境变量一般用于定义shell的运行环境,而普通变量则经常用于编写shell脚本中。

环境变量和普通变量的区别是和php的变量非常类似:区别都是使用范围的不同,shell的环境变量可以在当前shell以及衍生的shell的使用,而普通变量只能在当前shell使用。环境变量通常使用大写,普通变量通常使用小写。

定义变量

定义时,变量名不加美元符号($,PHP语言中变量需要),如:your_name="runoob.com"

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

中间不能有空格,可以使用下划线(_)。

不能使用标点符号。

不能使用bash里的关键字(可用help命令查看保留关键字)。

环境变量

查看当前所有的环境变量,使用env(environment)命令即可# env

XDG_SESSION_ID=38135

HOSTNAME=iz8vb626ci0aehwsivxaydz

TERM=xterm

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=114.106.186.229 31955 22

QTDIR=/usr/lib64/qt-3.3

……

另外还可以用set命令来查看,但是该命令会列出所有环境变量以及普通变量。一般的,环境变量都使用大写的字母来表示。

设置及取消环境变量

用户自定义设置环境变量的方式如下export 变量名=变量值

如想取消环境变量,则可以使用unset命令来完成unset 变量名

下面来演示一下:# export HOBBY=basketball

# env | grep HOBBY

HOBBY=basketball

# unset HOBBY

# env | grep HOBBY

变量的打印与设置

linux下有一个echo命令,使用方法和php是一样的,都是用来打印一段文本。# echo hello,world

hello,world

# echo -e "$PWD\n$PATH"

/root

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

变量的设置规则,变量名=变量内容注意"="两边都不能有空格

变量名称只能是字母和数字,另外首个字符不能是数字

变量内容若有空格,需要使用引号(单引号、双引号)将变量内容阔起来,如name="lebron james"。双引号里可以解析变量。

若有特殊字符,可以使用\来转义,如enter、'、”等特殊字符

如想使用命令结果作为变量内容,可以使用$(命令)或命令;

若想扩展变量内容,可以使用"{$变量}累加内容"

array

和php一样,shell变量也有数组类型。数组的定义语法如下:变量名=(val1 val2 ... valn);

arr=(paul james durant)

打印数组的长度echo ${#arr[@]}

打印数组元素的长度echo ${#arr[数组下标]}

打印数组的部分元素 ${lnmp[@]:n1:n2} n1表示开始,n2表示长度# 打印所有元素

# echo ${lnmp[@]}

linux nginx mysql php

# echo ${lnmp[@]:0}

linux nginx mysql php

# 打印从第二个元素开始的所有值

# echo ${lnmp[@]:1}

nginx mysql php

# 打印第一个值和第二个值

# echo ${lnmp[@]:0:2}

linux nginx

# 打印第二个值和第三个值

# echo ${lnmp[@]:1:2}

nginx mysql

打印数组元素语法如下echo ${arr[元素下标]}

# echo ${arr[0]}

paul

# echo ${arr[1]}

james

打印数组所有的元素echo ${arr[@]}

数组的赋值、替换、删除#追加元素

# lnmp[${#lnmp[@]}]=apache

# echo ${lnmp[@]}

linux nginx mysql php apache

# 修改元素

# lnmp[0]=l

# echo ${lnmp[@]}

linux nginx mysql php

# 删除元素

unset lnmp[0]

unset lnmp[1]

unset lnmp

上述就是小编为大家分享的Linux中shell的变量介绍了,如果您也有类似的疑惑,不妨碍参照上述分析进行理解。如果想了解更多相关内容,请关注亿速云行业资讯。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0 0/2 * * * ? linux文本含义,Linux基础2.0

1、硬盘使用的步骤识别硬盘 > 分区规划 > 格式化 > 挂载使用2、列出创建ext3、ext4、xfs、fat32文件系统的格式化工具及用法mkfs.ext3 分区设备路径mkfs.ext4 分区设备路径mkfs.xfs 分区设备路径mkfs.vfat -F 32 分区设备路径3、开机自动挂载配置文件及6个字段/etc/fs…

linux如何加载镜像,linux可以加载iso镜像文件到启动项吗

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼楼主的需求描述不清,不作评述。只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能未读过grub1/2的源码,不太了解其实现原理,但从应用上来说,这个设备不…

10个linux awk文本处理经典案例,关于AWK的10个经典案例

1、分析访问日志(Nginx为例)日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" 统计访问IP次数: # awk…

arm linux 存储,linux arm的存储分布那些事

原标题:linux arm的存储分布那些事linux arm 内存分布总览上图是linux的arm的虚拟地址分布总览,我们按从低地址到高地址的顺序逐个描述,每项的描述包括如下的内容的组和:地址范围大小,虚拟转物理的接口函数&#xff0c…

linux恢复终端默认配置,以gnome-terminal为例,修改gnome3 的默认配置,

以gnome-terminal为例,修改gnome3 的默认配置,gnome连续几个版本的terminal默认配置文件都是同一个配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”。这是因为gnome的developers编辑了这个配置文件并作为gnome-terminal的默认配置文件,用来…

c语言字符串文库总结,C语言程序设计入门:字符串函数

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090qq.com,我们立即下架或…

vs写c语言能用scanf,【PAT编写代码时遇到的问题】vs中使用scanf(%c,x);

首先,为了在VS中使用scanf,可以在程序开头加上#pragma warning(disable:4996)昨天在编写程序的时候,突然发现在循环中使用scanf("%c",&x);的时候,发现结果很奇怪,只能读入和输出我所输入的数据的一半。后…

大数计算器概念c语言,用C语言求两个超大整数的和

用C语言求两个超大整数的和在生活中,我们经常需要计算非常大的数,但是任何一种计算器都有计算范围,一旦超过计算范围就会有精度的损失。或许有同学认为我们可以通过程序来解决,比如对于C语言来说,我们定义一个long lon…

3 5的二维数组C语言程序,C语言及程序设计提高例程-33 二维数组元素的引用

贺老师教学链接 C语言及程序设计提高 本课讲解输入输出二维数组元素#include int main(){int s[3][5], i, j;printf("Input 3*5 numbers\n");for (i0; i<3; i)for(j0; j<5; j)scanf("%d", &s[i][j]);for (i0; i<3; i){for(j0; j<5; j)pri…

android程序 幻灯片,Android:ViewPager制作幻灯片

public class MainActivity extendsActivity {//ViewPagerprivateViewPager viewpager;//幻灯片图片资源private int [] imgArray{R.drawable.view1,R.drawable.view2,R.drawable.view3};//图片数组private ArrayListviewlist;privateImageView imageView;//点点privateViewGro…

android获取图片方向并旋转,Android 判断imageview角度并旋转

/*** 读取照片exif信息中的旋转角度** return角度 获取从相册中选中图片的角度*/public static float readPictureDegree(String path) {int degree 0;try {ExifInterface exifInterface new ExifInterface(path);int orientation exifInterface.getAttributeInt(ExifInterf…

android键盘移动光标,在Android键盘上完成键

Jos Silva..12代替ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));尝试ic.performEditorAction(EditorInfo.IME_ACTION_GO);执行的操作应该是在EditorInfo上定义的操作,它将在方法onStartInputView上传递给您要在操作之间切换,请使用:(sEditorI…

android 远程桌面连接闪退,远程桌面一点连接就闪退,不能弹出输入账号密码窗口...

您好&#xff0c;感谢您在我们论坛发帖。首先&#xff0c;按照您的描述&#xff0c;正常情况下&#xff0c;您的客户端可以远程连接您的服务器&#xff0c;输入IP和端口之后&#xff0c;会弹出验证框&#xff0c;输入账户密码之后即可进入服务器的桌面。当出现问题时&#xff0…

com.sec.android.app.smartclipservice,EPR Aerospace News

The World Cup Ball And Its Astonishing Effects Can Be Easily Explained Through TheTheory Of Dynamic Interactions, Which Also Applies To The Flight Of The Boomerang.The official World Cup ball, the so called “Jabulani”, which has been object of a lot of c…

signature=5bcdc11c0d509d82e0d44c544cfad97b,江苏省职称计算机考试新职称光盘试卷

试卷一1、世界上第一台电子数字计算机采用的主要逻辑部件是(D)A光电管 B继电器 C晶体管 D电子管2、世界上首次提出存储程序计算机体系结构的是(D)A艾伦〃图灵 B莫奇莱 C乔治〃布尔 D冯〃诺依曼3、计算机最主要的工作特点是(A)A存储程序与自动控制 B高速度与高精度C可靠性与可用…

html表格内文字置顶,css如何让table里的字居中?

css如何让table里的字居中&#xff1f;下面本篇文章就来给大家介绍一下使用CSS让table里字居中的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。在CSS中&#xff0c;可以通过设置text-align: center;和vertical-align:middle;来…

你是怎么理解HTML语义化,HTML语义化标签理解

1&#xff1a;语义化标签是什么&#xff1f;语义化标签&#xff0c;目的是让标签有自己的含义语义化非语义化如上代码&#xff0c;p标签含义就是段落&#xff0c;而span标签毫无意义。2&#xff1a;语义化标签好处方便用户阅读&#xff0c;页面更加清晰。更好的SEO&#xff0c;…

html5离开网页自动暂停,通过html5代码在网页中实现播放和暂停音乐mp3,mav等文

介绍通过html5代码在网页中实现播放和暂停音乐mp3,mav等文件的具体操作方法。这样对于用户来说&#xff0c;在线可播放功能能大大提高站内效率也可带来一定的流量。希望对有需要的朋友有所帮助。这里我们需要先了解下&#xff0c;在html5中的两个个重要标签。阿里西西web开发网…

android开发屏幕横放,android-即使从横向旋转到垂直,细节片段也会...

在一个Activity中,我们称其为MasterActivity,我只想在横向模式下加载媒体播放的细节片段.准备就绪后,媒体将自动启动.主从流程设置&#xff1a;我有两个xml,activity_master和activity_master.xml(land).标识为“ detail_container”的容器视图仅位于景观xml中.具有细节容器的l…

android insmod命令,android的启动脚本(init.rc)文件的语法

android的启动脚本(init.rc)文件的语法&#xff0c;参考资料&#xff1a;Android 初始化语言(Android Init Language)Android初始化脚本语言包含四种类型的语句&#xff1a;动作(Actions)指令(Commands)服务(Services)选项(Options)该语言的语法包括下列约定&#xff1a;所有类…