linux shell脚本基础-----1

本文介绍了一个简单的Shell脚本实例,并详细解析了Shell脚本的基本语法,包括如何定义和使用变量,以及环境变量和参数变量的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 一个实例:

  输入命令vim first,创建一个first文件并用vim打开,输入如下代码:

#!/bin/sh

echo "hello world"

  说明:  

  1. #符号开始的行为注释,第一行#!/bin/sh是一种特殊形式的注释,告诉系统同一行上紧跟在它后面的那个参数是用来执行脚本文件的程序。 

  2. 脚本文件的执行:

    法一,将文件名作为参数传给shell,即  

      $/bin/sh first

    法二,为文件设置执行权限,然后执行,即

      chmod +x first

      ./first

 

2. shell语法

2.1 变量

  在shell中,通过使用变量来创建它们;

  在默认情况下,所有变量都被看作字符串并以字符串来存储,即使它被赋值为数值时也是如此;

  通过在变量名前加一个$符号来访问它的内容;

  可以使用read命令将用户的输入赋值给一个变量;

  如果把$变量表达式放在双引号中,程序执行到这一行时会把变量替换为它的值,如果放在单引号中,则不会发生替换;

  可以在$前添加\以显示$字符

#!/bin/sh

myvar="Hi there"
myvar2=2+3

echo $myvar
echo $myvar2
echo "$myvar"
echo '$myvar'
echo \$myvar

exit 0


  注意:字符串里如果包含空格,则必须用引号将它们括起来;

     等号两边不能有空格

  运行结果:

root@ubuntu:/mnt/hgfs/code_self# ./first
Hi there
2+3
Hi there
$myvar
$myvar

  环境变量:

  当一个shell脚本程序开始执行时,一些变量会根据环境设置中的值进行初始化,这些变量被称为环境变量,主要环境变量有:

环境变量说明
$HOME当前用户的家目录
$PATH以冒号分隔的用来搜索命令的目录列表
$PS1命令提示符,通常是$字符
$PS2二级提示符,用来提示后续的输入,通常是>字符
$IFS属于域间隔符。当shell读取输入时,它给出分隔单词的一组字符,通常是空格、制表符和换行符
$0shell脚本的名字
$#传递给脚本的参数个数
$$shell脚本的进程号,脚本程序通常会用它来生成一个唯一的临时文件,如/tmp/tmpfile_$$

 

 

      

 

 

 

 



参数变量:

  如果一个脚本程序在调用时代有参数,一些额外的变量将会被创建。即使没有传递任何参数,环境变量$#依然存在,不过值为0.

参数变量说明
$1,$2,...脚本程序的参数
$*在一个变量中列出所有的参数,各个参数之间用环境变量IFS中的第一个字符分隔开。如果IFS被修改了,则$*将命令行分隔为参数的方式就随之改变
$@$*的一种变体,不使用IFS环境变量,所以即使IFS为空,参数也不会挤在一起。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值