Linux-shell编程

1.1 Shell定义

1、基本定义

Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。

2、CentOS 7 默认使用的 Shell 是 bash

3、bash基本特点

  • 一条命令只做一件事
  • 为了组合命令和多次执行,使用脚本文件来保存需要执行的命令。
  • 赋予该文件执行权限(chmod u+rx filename)

1.2 Shell执行方式

1.2.1 脚本格式要求
  • 脚本以#!/bin/bash 开头。
  • 脚本需要有可执行权限。
1.2.2 基本语法

1、创建shell脚本

vim *.sh

2、编写内容,脚本以#!/bin/bash开头。

#!/bin/bash
echo "具体内容....."

3、给脚本文件赋予可执行权限

chmod u+rx filename 

4、执行脚本命令

  • bash ./filename.sh(外部命令)
  • ./filename.sh(外部命令)
  • source ./filename.sh(内建命令)
  • .filname.sh(内建命令)

注意: 内建命令和外部命令的区别: 内建命令不需要创建子进程,内建命令对当前 Shell 生效。

1.2.3 案例说明

1、创建一个 Shell 脚本,输出 hello world!,先执行vim myShell.sh

#!/bin/bash
echo "hello,world~"

2、添加权限chmod u+rx myShell.sh

3、执行脚本语言./myShell.sh

1.3 Shell的变量

1.3.1 变量介绍

1、linux Shell 中的变量分为,系统变量和用户自定义变量

2、系统变量:$HOME、$PWD、$SHELL、$USER 等等,比如: echo $HOME

#!/bin/bash
echo "PATH=$PATH" #输出系统变量
echo "user=$USER"

3、显示当前shell中所有的变量: set

1.3.2 shell变量的定义

1、基本语法

定义变量: 变量=值。

撤销变量: unset 变量。

声明静态变量:readonly 变量,注意:不能 unset

2、入门案例1

定义变量a,撤销变量a。

#!/bin/bash"
a=100
echo "a=$a"
unset a
echo "a=$a"


3、入门案例2

声明静态变量a=98,不能unset


4、定义变量的规则

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
  • 等号两侧不能有空格。
  • 变量名称一般习惯为大写。

5、将命令的返回值赋给变量

A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量 A
A=$(ls -la) 等价于反引号

代码示例

#!/bin/bash
RESULT='ls -l /home'
echo $RESULT   #使用''将命令括起来
echo ""

MY_DATE=$(date)
echo "date=$MY_DATE"  #使用$()来执行也可以

1.4 设置环境变量

1.4.1 基本语法
参数 功能描述
export 变量名=变量值 将 shell 变量输出为环境变量/全局变量
source 配置文件 让修改后的配置信息立即生效
echo $变量名 查询环境变量的值
1.4.2 入门案例

1、在etc/profile 文件中定义 TOMCAT_HOME 环境变量。

vim /etc/profile


注意:在输出 TOMCAT_HOME 环境变量前,要先执行source /etc/profile,这样才能真正的生效。

2、查看环境变量 TOMCAT_HOME 的值。

echo $TOMCAT_HOME

3、在另一个shell中执行环境变量

shell 脚本的多行注释
:<<! 内容 !

#!/bin/bash
#多行注释
:<<!
    RESULT='ls -l /home'
    echo $RESULT
    echo ""
    MY_DATE=$(date)
    echo "date=$MY_DATE"
!
#使用环境变量
echo "tomcathome=$TOMCAT_HOME"

1.5 位置参数变量

1.5.1 基本介绍

当执行一个 shell 脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量。
比如 :./myshell.sh 10 15 , 这个就是一个执行 shell 的命

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值