欢迎来到个人博客什么是变量局部变量:手动定义,只能在当前系统的某个环境下生效,作用范围小普通变量:单引号:原始字符输出,变量名='variablevalue'?shellname='tom'?shellecho$nametom*双引号:变量名="变量值",检查value中是否有对其他变量的引用,如果有则获取变量值并合并一起输出```shell?shellword="Iam$name"?shellecho$wordIamtom```*不带引号的直接命名:变量名=变量值```shell?shellage=33?shellecho$age33```*惯用用法:数字不带引号,其他带双引号命令变量:变量值为命令的变量,命令的执行结果将赋值给变量变量名=`command`,即反引号?shellfiles=`ll`?shellecho$filestotal8-rwxr-xr-x1zhouyajunstaff228BMar2621:58itcast.shdrwx-wx--x3zhouyajunstaff96BOct1122:15test*variablename=$(command)```shell?shellwoshishui=$(whoami)?shellecho$woshishuizhouyajun```*执行过程:执行命令,将命令执行后的结果复制到新的变量名中全局变量:手动添加默认定义的变量env查看所有全局变量声明全局变量名=tom,然后exportname,声明全局变量exportname=tom,直接声明全局变量view,删除变量view变量"asd${variablename}""${variablename}"删除--unsetvariablename内置变量:bash命令自带的一些参数变量scriptfile$0获取当前执行的shell脚本的文件名#!/bin/bash#yycopy,ppasteecho"获取当前文件名:get_name"echo"获取当前文件名:$0"?shell/bin/bashget_name.sh获取当前文件名:get_name获取当前文件名:get_name.sh$n获取当前正在执行的她ll脚本的第n个参数值,n=1..9,当n为0时,表示脚本的文件名,如果n大于9,则必须用大括号括起来\${10}#!/bin/bashecho"获取参数"echo"获取命令行参数:$1"?shell/bin/bashget_args.sh123获取参数获取命令行参数:1$#获取当前shell命令的参数总数线#!/bin/bashecho"Getarguments"echo"Getcommandlinearguments:$#"?shell/bin/bashget_args.sh123dgfGetarguments获取命令行参数:5$?获取上一条命令的返回值(0表示成功,非0表示失败)?shellecho$?这是上面命令的执行结果0?shellasdfas这是错误命令zsh:commandnotfound:asdfas?shellecho$?127准确获取${变量名:实际位置:截取长度},${file:0:5}从第一个字符开始,截取5个字符${file:5:5}从第6个字符开始截取6个字符${file::0-6:5}从倒数第6个字符开始,截取后的5个字符?shellfile=abcdefghijklmnopkrstuvwxyz?shellecho$fileabcdefghijklmnopkrstuvwxyz?shellecho${file:0:5}abcde?shellecho${file:5:5}fghij?shellecho${file:0-6:5}uvwxy的默认值是条件有效的${变量名:-默认值},如果变量没有指向内容,则输出默认值#!/bin/basha="$1"#获取命令行第一个参数echo"参数的值为:${a:-1}"#设置默认值1?shell/bin/bashdefault_value.sh55参数的值为:55?shell/bin/bashdefault_value.sh参数的值为:1无条件有效${变量名+默认值}如果有指向的内容,则输出默认值。欢迎来到我的博客,里面有更多实测内容!!
