Linux(三)shell编程

十三、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中的软件管理工具。

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, 将国内镜像源拷贝到文件中

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一枚务实的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值