5 脚本
5.1脚本分类
脚本 | 后缀 |
---|---|
shell脚本 | *.sh |
python脚本 | *.py |
perl脚本 | *.pl |
脚本程序是一个文本文件,具有可执行 x 权限。
脚本解释器 | 解释器 |
---|---|
shell脚本 解释器 | /bin/sh |
python脚本 解释器 | /bin/perl |
perl脚本 解释器 | /bin/python |
执行脚本文件:
/bin/python hello.py
例5.1.1 执行shell脚本
步骤
1编辑一个文本文件,保存为 hello.sh
#!bin/sh
echo "hello.sh"
2添加可执行 x 权限
chmod +x hello.sh
3执行程序+绝对路径/相对路径
/bin/sh ./hello.sh
例5.1.2 执行python文件
步骤
1编辑一个文本文件,保存为 hello.py
#!bin/python3
print("hello world")
2添加可执行 x 权限
chmod +x hello.py
3执行脚本的解释器+绝对路径/相对路径
/bin/python ./hello.py
5.2环境变量
5.2.1 环境变量
***环境变量:就是存在当前环境中的变量。在linux、windows系统中都有环境变量,***最常用的环境变量就是path、java_home。
如何找到path:
windows | 属性——高级系统设置——环境变量,分为系统变量和用户变量,可以看到path |
---|---|
linux | 输入 printenv (查看所有环境变量),输出靠下位置会有path |
例5.2.1 运行 .sh 文件,操作如下
1打开文件 ok.sh ,输入
#!/bin/sh
#定义变量
OUTDIR=/opt
#使用变量
echo "output to:${OUTDIR}"
ls ${OUTDIR}
2在终端输入执行语句:./ok.sh
等价于执行
ls /opt
输出:
apple
5.2.2 设置环境变量
代码 | 含义 |
---|---|
export OUTDIR=/opt | 定义环境变量 |
echo ${OUTDIR} 或 echo $OUTDIR 或 echo $OUTDIR/si | 显示环境变量 |
printenv | 显示所有环境变量 |
再次输入export OUTDIR=/user/bin
,即为修改变量
使用:在终端中使用或者shell中调用
在终端中定义环境变量,那么调用shell可不用再定义环境变量;
以以上方法设置环境变量仅对当前窗口有效,其他窗口无法查看这个变量;当关闭终端后,重启后就消失了。
有什么办法可以让一个环境变量不消失?下一节
5.3 用户环境变量
用户环境变量定义在 ~/.profile(shell脚本)中,仅对当前用户有效。
ls -a
其中a -all 显示全部文件的参数
输出结果中以 . 开头的是隐藏文件,默认不显示。
1.打开文件
gedit /home/用户名/.profile
2在文件内输入
export JAVA_HOME=/opt/jdk1.8
3保存
4注销生效
5输入命令:
echo $JAVA_HOME
显示:
/opt/jdk1.8
说明,将变量注入到隐藏文件中,当重新开启计算机时,该环境变量仍在当前环境中。
注:
1查看用户
ls -a /home/用户名
结果:
.profile
2仅对当前用户有效,每个用户都有自己的配置文件.profile
其他用户的.profile文件失效。
3有的linux系统中,使用.bash_profile
.profile怎样能对所有用户有效?下一节
5.4 系统环境变量
系统变量:对所有用户有效,定义在/etc/profile,其中etc包括系统的配置文件和初始化脚本。
打开root超级用户打开该文件profile,按照文件内容提示,不直接修改/etc/profile
,而是在/etc/profile.d/
创建自定义的脚本。
例5.4.1测试系统变量系统注销后仍存在
步骤
1登录root用户/切换root用户
2在目录/etc/profile.d下新建文件,写入变量
gedit /etc/profile.d/profile
3在文件中输入
#!/bin/sh
export TOMECAT=/opt/tomecat
4保存
5终端输入命令:
echo $TOMECAT
注销后,变量仍存在,且其他用户可用
5.5修改path路径
针对在/home/用户名
下建立的~.py、
~.sh文件,我们在当前目录可以查看到,但却无法运行的情况,切换当前路径。
1查看默认当前路径
echo PATH
显示:
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
2在当前用户添加路径/home/用户名
在.profile
中输入
export PATH=$PATH:/home/用户名
保存文件
注销虚拟机
3或当root用户中添加路径‘/home/用户名
在/usr/etc/profile.d/myprofile
中输入
export PATH=$PATH:/home/用户名
保存文件
注销虚拟机