0
点赞
收藏
分享

微信扫一扫

shell脚本之基础入门

龙毓七七 2022-02-10 阅读 73
linux运维


第一个shell脚本

第一步:创建脚本文件

使用touch命令新建一个文件 demo.sh,扩展名为 sh(sh代表shell),扩展名可以清楚知道是脚本文件,没有也无影响。

第二步:编写脚本文件内容

输入一些代码,第一行一般是这样:

#!/bin/bash

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。有三种shell解释器,分别是sh、ash、bash。

echo "Hello World !"

echo 命令用于向窗口输出文本,其中#后为注释内容。

第三步:权限修改

一般启动脚本时要赋予脚本文件执行权限  使用权限修改命令chmod

chmod 777 demo.sh

或者仅加上执行权限  

第四步:执行脚本

第一种执行方式 

./demo.sh

第二种执行方式

bash demo.sh

 第三种执行方式

. demo.sh

输出结果都为

 shell中的变量

shell中定义变量无需数据类型  期间不可加空格符号    取变量值为 $变量名

#!/bin/bash
# #!用于指定当前脚本文件的shell解释器  不写默认
num=100

i=num
#可以赋值给另一个变量
echo "$i"
# $变量为取变量的值
echo "$num"
#打印输出变量的值
unset num
#清除变量
echo "$num"
#变量已经清除  输出空
read string
#从键盘是输入一个字符串赋值给变量string
echo "str=$string"
#输出字符串
readonly val=10
#创建一个只读的变量 不可清除修改 只能在定义时初始化
val=100

输入 hello     输出结果如下: 

 环境变量的设置   

 语法(尽量大写)

 VAR=value
 export VAR
  • 在终端上输入环境变量为临时变量 当会话关闭或者重启时消失
  • 一般在 ~/.bashrc或者/etc/porfile文件中  允许用户更改  更改后不会立即生效 可以使用source命令

环境变量等于程序设计语言的全局变量 可以在所有的shell中使用

 预设变量

示例

echo "$0"
echo "$1"
echo "$2"
echo "$#"
echo "$*"
echo "$$"

ls aaa
#目录下没有这个文件
echo "$?"
ls demo.sh
echo "$?"

输出如下:   想查看进程号可使用read等待输入打开一个新的会话使用ps查看对应的进程号

 脚本变量的特殊用法

""(双引号):包含的变量会被解释

'' (单引号):包含的变量会被当做字符串解释

``(ESC下):反引号的内容作为系统命令,并执行其内容,可以替换输出为一个变量

$ echo " today is `date`"

输出结果:

 \转义字符:同c语言\n \t \r \a 等echo命令需加 -e转义

(命令序列):由子shell完成,不影响当前shell中的变量

   {命令序列}  :在当前shell中执行,会影响当前变量

脚本代码

#!/bin/bash
# #!用于指定当前脚本文件的shell解释器  不写默认

name="lisi"
string1="hello,$name"
#双引号里面的特殊字符,会使用其特殊含义
string2='hello,$name'
#单引号里当成字符串解释

echo $string1
echo $string2

echo -e "this \n is\t a \n text"

num=100
(num=999; echo "1 $num")
echo "2 $num"

运行结果: 

 

举报

相关推荐

0 条评论