linux bash 局部变量赋值,linux之bash的基础特性(四)变量,配置文件及env,printenv,export,declare,set,unset,readonly简单命令...
变量
主要有本地变量,环境变量,局部变量,位置变量,只读变量,特殊变量
1.本地变量:该类变量的作用范围仅限于当前shell进程,在其他shell进程包括其子或父进程均无效
该类变量赋值方式:
1)直接赋值varName=value的形式
2)变量引用赋值varName="$varName"或varName=${varName}形式
3)命令引用赋值varName=`command`或varName=$(command)的形式
4)几种特殊符号的说明:
1>单引号''表示强引用保留引号中的内容不会因为引用变量而改变
2>双引号""表示弱引用内容会因引用变量而发生改变
3>反斜线\转义单个字符
4>反引号``表示将内容作为命令执行
2.环境变量:该类变量的作用范围仅限于当前shell进程及其子shell进程
1)声明方式:export varName=value或declare -x varName=value
2)显示环境变量:env,printenv,export三个命令都会显示而set命令会显示所有已定义的变量
3)销毁变量:unset varName
3.只读变量:一旦声名不可改变即常量constant
声名方式:readonly varName=value或declare -r varName=value
4.特殊变量:
$?表示最近的一次命令的执行状态码
$0表示命令本身的名字
$#表示传递参数的个数
$*传递的所有参数,以字符串的形式
$@传递的所有参数,以单个字符的形式
5.位置变量:指明第几个参数$1,$2,$3,...并且支持换岗操作shift [n]命令
1 #!/bin/bash2# Author:wang3 # Version:0.0.01
4# Description:测试脚本5 # CreateTime:2019/05/13
6 echo "\$#--所有参数的个数$#"
7 echo "\$*--所有参数$*"
8 echo "\$@--所有参数$@"
9 echo "\$0--命令本身$0"
10 echo "\$?--命令执行状态码$?"
11 echo "\$1--第1个参数$1"
12 echo "\$2--所有参数$2"
换岗
#!/bin/bash2# Author:wang3 # Version:0.0.01
4# Description:Test5 # CreateTime:2019/05/13
6 echo "\$#--所有参数的个数$#"
7 echo "\$*--所有参数$*"
8 echo "\$@--所有参数$@"
9 echo "\$0--命令本身$0"
10 echo "\$?--命令执行状态码$?"
11 echo "\$1--第1个参数$1"
12 shift 1
13 echo $1
执行后发现shift 1其实就是将第二个参数的值移到第一个参数的位置
配置文件
1.按范围来分有全局配置文件和个人配置文件
1)全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc
2)个人配置文件:~/.bash_profile ~/.bashrc
2.按功能分为profile类和bashrc类
1)profile类:为交互式登录shell进程提供配置,主要是定义环境变量,执行脚本
交互式登录shell(直接通过终端输入账号密码或su - username)的读取次序:/etc/profile-->/etc/profile.d/*.sh-->~/bash_profile-->~/.bashrc-->/etc/bashrc
2)bashrc类:为非交互式登录shell进程提供配置
非交互式登录shell(su username或图形界面下打开的终端或执行脚本)的读取次序:~/.bashrc-->/etc/bashrc-->~/bash_profile-->/etc/profile.d/*.sh-->/etc/profile
linux bash 局部变量赋值,linux之bash的基础特性(四)变量,配置文件及env,printenv,export,declare,set,unset,readonly简单命令...相关推荐
- linux shell sql赋值,Linux下shell执行SQL
mysql -P 端口号 -u用户名 -p密码 -e"use数据库名;待执行的sql语句;" 取消用户密码有效期,关闭修改密码 /usr/local/u-mail/service/ ...
- linux快捷键 赋值,2_Shell语言———bash的快捷键、变量声明、引用变量及变量替换...
一.初识bash Bash是一种解释型语言,但它也提供了交互式接口,支持变量,因此提供了编程环境,所以可以称bash为程序语言. 解释型语言属于弱类型语言,其特点为: 1.它不强制区分变量类型,即无论 ...
- linux 终端 画圆,Linux Bash Shell快速入门
BASH的基本语法 ·最简单的例子-- Hello World! ·关于输入.输出和错误输出 ·BASH中对变量的规定(与C语言的异同) ·BASH中的基本流程控制语法 ·函数的使用 2.1最简单的例 ...
- Linux 之旅 8:初识 BASH
Linux 之旅 8:初识 BASH 认识 BASH 这个 Shell 我们作为用户,并不能和Linux kernel直接交互,而是需要通过一个壳程序(shell)与其交互,而Bash就是最流行的一种 ...
- Linux bash 的基础特性
Linux bash 基础特性 bash基础特性之一:命令历史 bash基础特性之二:命令或路径补全 bash基础特性之三:命令行展开 bash基础特性之四:命令的执行状态结果 bash基础特性之五: ...
- linux文件系统及bash基础特性
linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...
- 每个程序员都应该知道的Linux基础知识!全文4900字,没有耐心的不建议看 ——( Linux文件系统 + 系统管理类命令 + bash基础特性)
文章目录 - Linux的文件系统 - LSB - FHS - 根文件系统 - 对根文件系统下目录的概述: /boot /bin /sbin /lib /lib64 /etc /home /root ...
- 红叶李之Linux bash 基础特性
Linux系统管理之bash基础特性 1.补全 系统支持的shell: # cat /etc/shells当前系统默认shell:# echo $SHELL命令补全:给定的打头的字符串如果在系统中能够 ...
- ksh和bash区别、linux更改用户的默认登陆shell
文章目录 ksh和bash区别 bash ksh linux更改用户的默认登陆shell 参考 ksh和bash区别 ksh在unix上使用较多.比如hpux,AIX. bash在linux上使用较多 ...
最新文章
- 北航学长:DCIC 2021的算法方案讲解
- 如何动态添加菜单/菜单项、子菜单、右键菜单
- 服务器共享文件夹 关闭打开文件,dos命令net file图文教程,显示打开共享文件名关闭删除文件锁...
- POJ-1724 深搜剪枝
- Python零碎知识(6):split 和 join
- java基础提升篇:深入浅出Java多线程
- vue实现时间选择器,精确到秒
- java加入md5_javamd5加密解密
- 数据库创建/删除视图语句
- cad查看_CAD手机看图软件中批注的图片在电脑上如何查看?
- html怎么链接scc,htmlscc基础知识
- Qcom平台,dump解析环境配置
- 王彦霖艾佳妮婚纱大片,校园牵手漫步,女方秀心形婚戒
- 常用moment时间总结
- 软件测试工程师面试的时候该怎么样介绍自己?你的简历是不是该优化了
- hids Elastic Security 系列1-Elastic Security介绍
- docker安装es+mac安装Kibana工具+es查询语法笔记
- 自学渗透第四天--中国菜刀
- windows如何使用rclone挂载自建云盘
- html中鱼眼效果,Three.js - 鱼眼效果