shell 脚本入门

本文介绍了Shell脚本的基础知识,包括定义变量、使用if-else-fi结构、export导出环境变量以及执行脚本的方法。讲解了标准的shell脚本开头、常用的echo和变量输出方式,以及test和[]的判断用法。此外,还阐述了if分支的语法和for循环的使用,展示了如何检查文件存在性和执行权限。文章适合初学者理解Shell脚本的基本概念和操作。
摘要由CSDN通过智能技术生成
从最开始只懂得如何进去服务器系统到后面慢慢了解Linux 的每一个文件的基本含义,到系统的一定了解我没有仔细和系统的了解,总是在零零散散的实践中去求知,没有去看,去敲的代码记住了又忘记了。

shell脚本

一个常见的shell脚本 ,一般都是定义了大量的变量和使用if else fi 以及export 导入其他环境变量。
如果需要执行一个shell脚本,必须先要把该脚本设置为可执行文件,或者通过bash 命令直接执行。
一个标准的shell 需要以#!/bin/bash 开始。 在linux 上 /bin 文件下存放的都是可执行命令。

#!/bin/bash
echo "hello world"

执行脚本

 bash helloworld.sh

脚本中最常见的语句

在一个脚本中最常用的一般就三个 一个是

  • if else if

  • 常用变量

  • for do done

    站在一个java 开发者的角度看shell 脚本是相当头痛的事情, 看到 “” 和 ‘’ 完全是不一样的,在shell 脚本中有大量的获取变量的方式和如 $ 、`` 、 ( ) 、 () 、 (){}

   # 表示为一个注释
   test=1  #给变量赋值
   echo  $test # 可以输出
   echo "$test" #也可以输出
   echo '$test' # 这个只能输出引号里面的字符串
   echo ${test}  #还是可以输出
   echo $(test) #这个就输出不出来了,这个只能输出对应的命令 如下
   echo $(hostname)    #这样类型的信息
   echo $(ps) 

还有一个就是 字符的判断 ,test [ ] 这个两个东西都是可用于判断的。 下面的两个代码是一样的

# 判断1==1 为对的就输出 Y 否在输出 N
test 1==1 && echo Y || N

[ 1 -eq 1 ] && echo Y || N

[ 1 == 1 ] && echo Y || N

用 [ ] 来进行判断 存在很多参数 如 针对于数字进行判断的

符号含义
-eq等于
-ne不等于
-gt大于
-ge大于或等于
-lt小于
-le小于或等于

针对于文件进行判断的

符号含义
-e file文件是否存在
-f file存在且为普通文件
-d file存在并且为目录
-b file存在并且为块设备文件
-c file存在并且为字符设备文件
-p file存在且文件命名管道
-L file存在且为软链接文件
-r file存在且文件具有可读权限
-x file存在且文件具有可执行权限
-w file存在且文件具有可写入权限
-s file存在且文件为非空
if 分支

相比起变量,if分支容易懂一些 基本语法如下

if 条件测试 ;
then
  #正确的命令
fi

if 条件语句 ;
then 
  # 正确的命令
else
  # 错误的命令 
fi   

在判断的时候 大多数都是使用 test 和 [] 来进行判断的,如下

#!/bin/bash/
  if [ -e /usr/local/test.txt  ];
  then  
    echo  "文件存在!"
  else 
     echo "文件不存在!"  
  fi   

如果文件存在 就会在控制台进行输出 “文件存在” ,不存在就会输出不存在。

for 循环

for循环 的差异性也不是特别大 如下

for name  in [ word ... ]
do
	# 命令代码
done	

name 为自定的变量 [ word ] 为某些集合 数组

#!/bin/bash
for i in 1 2 3 4 5 
do
  echo $i 
done  

输出 1 2 3 4 5 $i 就是代表了 in 的1 2 3 4 5 这些数字。
也存在着以下这种情况,没有in 参数 直接输出 这样的语法格式也是不会报错的。 默认取值为$@ 通过执行脚本的传参。

 for i 
 do 
   echo $i 
 done   

以上是自己对于shell脚本的简单认识 和总结。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值