目录
1.shell变量定义及使用
1>shell定义变量时,没有数据类型,都当成一个字符串来处理。
不需要指定数据类型
格式:变量名=初始化
2>变量定义规则和C语言类似
3>定义变量时,等号两边不允许有空格
4>定义变量时,初始化字符串中如有空格,必须用""或者''括起来
str="hello world" str='hello world'
5>如果在字符串中引用变量的值,必须用""括起来
str=hello
str1="$str world"
6>变量使用时,使用$str 或者 ${str} 格式
#!/bin/bash
var1=hello
var2=world
var3=123456
var4=789
var5="hello world"
echo $var5
var6="$var5 world"
echo $var6
var7='hello $var2'
echo $var7
echo ${var5}world
2.shell中的特殊变量 -----> 位置变量
执行脚本文件时,给脚本文件传递参数,脚本文件通过位置变量获取传递的参数
$0 -----------> 脚本文件的名字
$1 -----------> 第一个参数
$2 -----------> 第二个参数
${10} -----------> 第十个参数
$n -----------> 第三个参数
$# -----------> 参数的数量,不包括文件名
$* -----------> 所有的参数,不包括文件名
#!/bin/bash
echo $0
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
echo $8
echo $9
echo $10
echo ${10}
echo $#
echo $*
结果为:
3.变量的修饰符
readonly --------------> 只读变量
unset ----------------> 取消变量的定义,不能取消只读变量的定义
local ---------------> 定义局部变量,只能在本函数内使用(shell中默认变量都为全局变 量,及时在函数中)
linux@ubuntu:practice$ readonly str=123456
linux@ubuntu:practice$ echo $str
123456
linux@ubuntu:practice$ str=123
bash: str: 只读变量
linux@ubuntu:practice$ unset str
bash: unset: str: 无法取消设定: 只读 variable
linux@ubuntu:practice$ string=123
linux@ubuntu:practice$ echo $string
123
linux@ubuntu:practice$ string=456
linux@ubuntu:practice$ echo $string
456
linux@ubuntu:practice$ unset string
linux@ubuntu:practice$
#!/bin/bash
var1=123 #全局变量
func() {
var2=456 #全局变量
local var3=789 #局部变量
echo $var3 #会输出
}
#只有调用函数 里边的变量才会定义
func
echo $var1
echo $var2
echo $var3
结果:var3输出空行
4.命令置换符
将命令执行的结果赋给一个iang
两种表示方式:
1> `shell命令`
2> $(shell命令)
5.Ubuntu的环境变量
env ------------> 查看Ubuntu系统的默认环境变量
LD_LIBRARY_PATH ---------> 链接库的环境变量
自己编写的程序,不用./执行,需要添加当前路径到系统环境变量中
方法1:在终端修改环境变量的值
export PATH=$PATH:可执行文件的路径 (注意:家目录不能写~,要写出完整路径)
注:只在当前终端生效,关闭终端立即失效
方法2:修改家目录下的 .bashrc 文件
在这个文件末尾添加:
export PATH=$PATH:可执行文件的路径
修改后使其生效:source ~/.bashrc or 重启Ubuntu系统:sudo reboot
注:只在当前用户生效
配置终端显示路径:
将家目录下的.bashrc文件中的
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
改为 |
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
方法3:修改/etc/bash.bashrc
在这个文件后面添加一行:
export PATH=$PATH:可执行文件的路径
修改后立即生效:source /etc/bash.bashrc 或者重启Ubuntu
注:对所有用户生效
方法4:修改/etc/profile
在这个文件下面添加一行:
export PATH=$PATH:可执行文件的路径
修改后立即生效:source /etc/profile 或者重启Ubuntu
注:对所有用户生效
方法5:修改/etc/environment
在这个文件PATH变量定义的""内添加可执行文件的路径
注意冒号的添加位置
修改后立即生效:source /etc/environment 或者重启Ubuntu
注:对所有用户生效