linux-变量

变量类别

类别作用范围
环境变量当前及及所有子进程
本地变量仅存在于当前进程中
局部变量脚本代码块中有效
位置变量类似于分组当中的\n取分组信息,$n { n ∥ n ∈ N + } \{n \|n\in N^+\} {nnN+}
特殊变量$!$@

环境变量

环境变量说明
PATH命令搜索路径
HOME默认登录显示目录
HISTSIZE命令缓冲大小
LOGNAME登录名
HOSTNAME主机名
SHELL当前使用的shell
LANG/LANGUGE语言设置
MAIL邮件存放地址
PS1命令基本提示符
root用户是#,对于普通用户是$
PS2附属提示符,默认是>
PWD当前目录
OLDPWD上一个目录
  • cd -
# 返回上一次目录
cd -
# 返回上一次目录
cd $OLDPWD
  • PS
提示符说明
\d日期
\H完整主机名
\h主机名,第一个单词
\t时间,24小时
HH:MM:SS
\T时间,12小时
HH:MM:SS
\A时间,24小时
HH:MM
\u当前用户名
\vbash版本信息
\w完整的工作目录名称
\W工作目录名称,最后一个文件夹
\#下达的第几个命令
\$提示字符
颜色前景色F背景色B
3040
3141
绿3242
3343
3444
紫红3545
青蓝3646
3747

设置模式 : \[\e[F;Bm\]...\[\e[0m\]

# 自定义提示
PS1="[\u@\h \W]\$ "
# 上色
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
  • 操作
命令操作
env打印环境变量
printenv打印环境变量
export设置环境变量
unset删除环境变量
source.加载新的环境变量
export打印环境变量

命令设置仅当前shell有效,想设置不丢失,可以编辑~/.bashrc文件。

修改之后通过source进行加载生效。

配置文件加载逻辑参考这个

特殊变量

特殊变量说明
$$进程ID
$0脚本文件名
$n { n ∥ n ∈ N + } \{n \|n\in N^+\} {nnN+}传入参数引用
$#传递参数个数
$*传递的所有参数
$@传递的所有参数
$?上个命令返回状态码

变量操作

表达式类型说明
name=value本地变量直接赋值
当前进程有效
export name环境变量把本地变量升级为环境变量
export name=value环境变量直接指定并设置环境变量
local name局部变量脚本局部变量声明
local name=value局部变量脚本局部变量声明并赋值
set name=value本地变量name=value
unset name各种变量撤销指定命令
各种变量有效
declare -x name=value环境变量设置环境变量

变量引用

引用方式说明
$name直接引用
${name}直接引用
${name}r避免$namer变量名识别错误
"$name"双引号,弱引用
可引用变量名的值
'${name}'单引号,强引用
相当于转义,不可引用变量值

linux中变量默认都是字符串类型

A=1
B=2
echo $A+$B
# 1+2

脚本初始

格式

要点含义
#!指定编译器(必定第一行)
#注释行
#!/usr/bin/bash
# print path
echo `pwd`

如果不知道bash改用哪一个,which bash就搞定。

一般情况下都是/bin/bash,不过which bash就是你使用的shell罢了。

执行

  • 一般执行
  • 权限
chmod a+x godme
  • 执行
# 相对路径
./godme
# 绝对路径
/home/godme/godme

直接指定到文件就会自动执行

  • 其他执行办法
  • 环境变量
PATH=$PATH:/home/godme
godme

指定PATH,自动扫描当前目录作为命令目录,直接运行命令即可。

  • sh
sh godme
bash godme

这个最特殊,文件没有执行权限也可以,如果脚本正确的话。

因为此时的godme只是作为参数,而不是自己执行,不需要执行权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值