十三、Shell编程
1.脚本执行方式
①脚本以 #!/bin/bash 开头
②脚本需要有可执行权限
方式一:先赋予脚本执行权限,再执行(执行命令:./文件名)
方式二:直接使用 sh 文件名,执行脚本
2.Shell变量
1)Shell 变量介绍
①Linux Shell中的变量分为,系统变量和用户自定义变量
②系统变量:$HOME、$PWD、$SHELL、$USER等等
③显示当前shell中所有变量:set
2)shell 变量定义
基本语法:
定义变量:变量名=值
撤销变量:unset 变量
声明静态变量:readonly 变量(不能unset)
3)shell变量的定义:
定义变量的规则:
①变量名称可以由字母、数字和下划线组成,但不能以数字开头
②等号两侧不能有空格
③变量名称一般习惯为大写
将命令返回的值赋给变量
①A=`date`,利用反引号,运行里面的命令,并把结果返回给变量A
②A=$(date) 等价于反引号
4)设置环境变量
①export 变量名=变量值(功能描述:将shell变量输出为环境变量/全局变量)
②source 配置文件(功能描述:让修改后的配置信息立即生效)
③shell脚本的多行注释: :<<! 内容 !
1)定义TOMCAT_HOME环境变量
①在/etc/profile文件中定义TOMCAT_HOME环境变量
②环境变量生效:source /etc/profile
5)位置参数变量
1)基本语法:
$n:n位数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}
$*:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待
$#:这个变量代表命令行中所有参数的个数
6)预定义变量
1)$$:当前进程的进程号(PID)
2)$!:后台运行的最好一个进程的进程号(PID)
3)$?:最后一次执行命令得返回形态,如果这个变量值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令不正确
3.运算符
基本语法:
① $(( 运算式 ))
② $[ 运算式 ]
③ expr 运算式
注意expr运算符之间要有空格,如果需要将expr的结果赋值给某个变量,使用``反引号包起来
4.条件判断
基本语法:[ condition ](注意condition前后要有空格):非空返回true,可使用$?验证(0为true,>1为false)
常用判断语句:
1)=:字符串比较
2)整数比较:
-lt:小于
-le:小于等于
-eq:等于
-gt:大于
-ge:大于等于
-ne:不等于
3)按照文件权限进行判断
-r:是否有读的权限
-w:是否有写的权限
-x:有执行的权限
4)按照文件类型进行判断
-f:文件存在并且是一个常规的文件
-e:文件存在
-d:文件存在并是一个目录
5.流程控制
1)if 判断
if [ 条件判断式 ]
then 执行代码
fi
2)if else 判断
if [ 条件判断式 ]
then 执行代码
elif [ 条件判断式 ]
then 执行代码
fi
3)case 语句
case $变量名 in
"value1")
echo 执行代码
;;
"value2")
echo 执行代码
;;
*)
echo 执行代码(以后都不满足,执行此程序)
;;
esac
4)for 循环
①for 变量 in value1 value2 value3...
do
echo 执行代码
done
②for (( 初始值; 循环控制条件; 变量变化 ))
do
echo 执行代码
done
5)while 循环
while [ 条件判断式 ]
do
echo 执行代码
done
6)read 读取控制台输入
read 选项 参数
常用选项:
-p:指定读取值时的提示符
-t:指定读取值时等待的时间(秒),如果没有在指定时间输入,就不用再等待了
参数:变量:指定读取值得变量名
6.函数
1)系统函数:basename
basename [pathname] [suffix]:返回完整路径最后/的部分,常用于获取文件名(basename命令会删掉所有的前缀包括最后一个 / 字符,然后将字符 串显示出来)
选项:suffix(如果suffix被指定了,basename会将pathname或string中的suffix去掉)
2)系统函数:dirname(返回完整路径最后一个 / 的前面的部分)
dirname 文件绝对路径:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录部分))
3)自定义函数
[ funtion ] funname[()]
{
action;
[return int;]
}
调用直接写函数名:funname [值]
十四、Python开发平台 Ubuntu
1.Ubuntu 的 root 用户
安装ubuntu成功之后,都是普通用户权限,并没有最高root权限,如果需要使用root权限的时候,通常都会在命令前面加上sudo。
可以直接使用 su root 来切换到root,第一次需要给root设置初始密码(命令:sudo passwd)
2.安装好Ubuntu后,默认就已经安装好Python的开发环境。
十五、APT软件管理和远程登录
1.apt介绍
apt是 Advanced Packaging Tool的简称,是一款安装包管理工具。在Ubuntu下,我们可以使用apt命令进行软件包的安装、删除、
清理等,类似于Windows中的软件管理工具。
![](https://img-blog.csdnimg.cn/img_convert/c3252d031b6b1979ff84877b46b6cb4b.png)
2.Ubuntu软件操作的相关命令
sudo apt-get update 更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取软件包的相关信息
sudo apt-cache install package --reinstall 重新安装包
sudo apt-get -f install package 修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖哪些包
sudo apt-cache rdepends package 查看该包被哪些包依赖
sudo apt-get source package 下载该包的源代码
3.更新 Ubuntu 软件下载地址
1)备份Ubuntu默认的源地址(sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup)
2)清空sources.list, 将国内镜像源拷贝到文件中
![](https://img-blog.csdnimg.cn/img_convert/3482a8bfa88ed74a5ac520a39d6370b6.png)
3)更新源:sudo apt-get update
4.远程登录Ubuntu
1)ssh介绍:为Secure Shell的缩写,由IETF的网络工作小组所制定;SSH为建立在应用层和传输层基础上的安全协议。
2)安装SSH和启用
Ubuntu默认没有安装SSH
安装和启用步骤:
sudo apt-get install openssh-server
service sshd restart
3)从一台linux系统远程登录到另外一台linux系统
在创建服务器集群时,会使用到该技术
基本语法:ssh 用户名@IP地址
登出命令:exit或logout