Linux学习 -- Shell基础 -- Bash变量
变量
默认是字符串型,数值型需要显示指定
等号两侧都不能有空格
单引号:原始字符串 双引号:保留转义
命令结果作为值:反引号 或 $()
环境变量一般用大写
自定义变量
变量定义 name="xx oo"
变量叠加 aa=123 aa="$aa"456 aa=${aa}789
变量调用 echo $aa
变量查看 set
变量删除 unset aa
环境变量
用户自定义变量 -- 只在当前Shell中生效
环境变量 -- 当前Shell和所有子Shell中都生效,
如果写入配置文件,则会在所有Shell中都生效
设置环境变量
声明
export name=sqd
sex=male export sex
查询 env
删除 unset
PATH -- 系统查找命令的路径
添加路径 PATH="$PATH":/root/
PS1 -- 定义系统提示符的变量
默认 PS1='[\u@\h \W]\$ '
修改 PS1='[\u@\t \w]\$ '

位置参数变量
变量名和作用都是固定的,只能传入不同的值
预定义变量

接收键盘输入
read [选项] 变量名
-p "提示信息"
-t 秒数
-n 字符数
-s 隐藏
数值运算与运算符
declare声明变量类型
declare [+-] [选项] 变量名
-: 设定类型属性
+:取消类型属性
-i:integer
-x:环境变量
-p:显示指定被声明的类型
数值运算
方法一:
declare -i c=$a+$b
方法二:
d=$(expr $a + $b) #加号两侧有空格
√方法三:
$((运算式)) 或 $[运算式]
运算符

变量测试与内容替换
通过x的值,测试y的情况

环境变量配置文件
source命令 -- 使配置文件直接生效
source 配置文件 或 . 配置文件
系统中环境变量配置文件的位置
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc

其他环境变量配置文件
注销时生效的:~/.bash_logout
历史命令:~/.bash_histoty
Shell登录信息:
本地终端登录信息:/etc/issue

远程终端登录信息:/etc/issue.net
不能使用转义符,只能显示纯文本
是否显示信息,由ssh的配置文件/etc/ssh/sshd_config决定
加入"Banner /etc/issue.net"才能生效(重启sshd)
登录后显示信息:/etc/motd
本地和远程都能显示
Linux学习 -- Shell基础 -- Bash变量的更多相关文章
- Linux学习 -- Shell基础 -- Bash基本功能
历史命令 history -c clear -w 写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...
- Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...
- Linux学习——Shell基础
1 shell概述 Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序. Shell 还是一 ...
- Shell基础-Bash变量-用户自定义变量
变量设置规则: 变量名称可以由字母.下划线和数字组成,但是不能由数字开头. 在Bash中变量的默认类型是字符串类型,若需要进行数值运算,则需指定变量类型为数值型.变量用等号链接,且两边不能有空格.若需 ...
- linux笔记:shell基础-bash变量
shell变量设置规则: 变量的分类: 环境变量的设置: 系统常见环境变量: 位置参数变量(用来接收脚本的参数): 预定义变量: 接收键盘输入(将键盘输入的值赋值给变量名): 用declare声明变量 ...
- Linux学习 -- Shell基础 -- 概述
Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串 双引号 ...
- Shell基础-环境变量配置文件
Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...
- Linux学习-计算机基础
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...
- linux学习18 shell脚本基础-bash变量和逻辑运行
一.回顾 1.用户管理,权限管理,install,mktemp 2.用户管理: 3.权限管理: mode,ownership mode: user group other r w x 4.命令:ins ...
随机推荐
- 关于jquery选择器中:first和:first-child和:first-of-type的区别及:nth-child()和:nth-of-type()的区别
:first:选择第一个出现符合的元素 :first-child:选择限制条件中的第一个元素,并且必须和冒号前面的标签一致 :first-of-type:选择所有限制条件下的第一个冒号前面的标签元素, ...
- 第二次冲刺spring会议(第一次会议)
[例会时间]2014/5/4 21:15 [例会地点]9#446 [例会形式]轮流发言 [例会主持]马翔 [例会记录]兰梦 小组成员:兰梦 ,马翔,李金吉,赵天,胡佳奇 内部测试版发布时间5月11日 ...
- webservice整合spring
接口HelloWorld需要添加webservice注解 package com.cs.webservice; import java.util.List; import javax.jws.WebP ...
- 获取android源码中遇到的问题
最近项目相当紧张,回家之后还需要继续研究android源码. 从网上找了一些资料,下载过程中还是遇到了很多问题.这里罗列一下: 1. 下载Repo过程中提示证书问题: curl https://dl- ...
- git提交失败
git push "提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支."的解决办法 本地已存在项目,需要先获取远端更新并与本地合并,再git push具体操作如下: ...
- ORA-39070
背景介绍: 项目以前建立的库,表空间文件文件比较多,问了一下dba,了解到表空间建立很多没有带来优惠(都在一块磁盘上),效率也不会提高:现在要进行新库的迁移(目前使用的是asm磁盘组rac集群),正好 ...
- VS2013程序打包部署详细图解
目录(?)[+] 新建项目 FILE –> New –> Project,如下图所示: 注意:如果 InstallShield Limited Edition Project 显 ...
- sqlDeveloper连接oracle
1.解决oracle11g的ORA-12505问题 启动oraclehome92TNSlistener服务,启动oracleserviceXXXX,XXXX就是你的database SID. < ...
- VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)
'=========================================================================='' VBScript Source File - ...
- leetcode415---字符串大数相加
Given two non-negative numbers num1 and num2 represented as string, return the sum of num1 and num2. ...