加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell 之变量

发布时间:2020-12-15 17:09:00 所属栏目:安全 来源:网络整理
导读:变量变量 直接定义一个名字就可以 他们代表一个字符串变量名前加$代表 访问这个变量的内容检查一个变量 可以 使用 echo $变量名gac = hello echo $gac 输出hellogac = "yes dear" echo $gac 输出 yes deargac = 7 + 5 echo $gac 输出 7 + 5 注意:字符串中有
变量
变量 直接定义一个名字就可以 他们代表一个字符串
变量名前加$代表 访问这个变量的内容

检查一个变量 可以 使用 echo $变量名
gac = hello
echo $gac 输出hello

gac = "yes dear"
echo $gac  输出 yes dear

gac = 7+5
echo $gac  输出7+5

注意:字符串中有空格需要使用双引号 等号的两边不能有空格

read命令可以将用户的输入赋值给一个变量 用户按下回车键 read命令结束(从终端读一个变量不需要使用引号)
read gac
hello
echo $gac 输出hello

引号的使用
因为脚本文件参数以空白字符分割的,如果你想在一个参数中包含一个或多个空白字符就需要加上引号

$gac 这种变量在双引号中 会替换为这个变量的值 放在单引号中不会变 $前面加上一个会取消他的特殊含义

环境变量
$HOME 当前用户的home 目录
$PATH 以冒号分割的 用来搜索命令的 目录列表  命令都存在哪些目录中
$PS1 用户名 机器名 当前目录名
$PS2 二级提示符 提示后续的输入 通常是> 字符
$IFS 输入域分隔符 当shell读取输入时,它给出用来分隔单词的一组字符 通常是空格 制表符和换行符
$0 shell 脚本的名字
$# 传递给脚本的参数个数
$$ shell脚本的进程号,脚本程序通常会用它来生成一个唯一的临时文件,/temp/tempfile_$$

参数变量
$1,$2 脚本程序的参数
$* 在一个变量中列出所有的参数,各个参数之间用环境变量IFS 的第一个字符分隔开,如果IFS 被修改了,那么S*的命令行分隔
参数的方式也会改变

S@ 它是$*的一种变体,不使用IFS 环境变量,即使IFS 为空,参数也不会挤在一起

IFS=''
set foo bar bam
echo "$@"
foo bar bam
echo "$*"
foobarbam
unset IFSecho "$*"
foo bar bam



变量的使用
gac=“hello" echo $gac echo "the program $0 is now running" echo "the second parameter was $2" echo "the first parameter was $1" echo "the user's home directory is $HOME" echo "the parameter list was $*" echo "please enter a new greeting" read gac echo $gac echo "the script is now complete" exit 0 命名文件 second chmod +x second 把他设置为可执行状态 ./second foo bar baz 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读