Shell脚本语言简明教程(还在更新)

一.简介(8.8)

1.1Shell环境

  • sh -即Bourne Shell,sh是linix标准默认的shell
  • bash -即Bourn Again Shell,Bash是linux标准默认的Shell
  • fish -智能和用户友好的命令行shell
  • xiki -使shell控制台更友好,更强大
  • zsh -功能强大的shell脚本语言

指定解释器:

#!/bin/bash    
#!/bin/sh     

1.2交互模式

shell有交互模式和非交互模式两种模式

交互模式:

简单来说可以将shell的交互模式理解为执行命令行

看到形如下面的东西,说明shell正处于交互模式下:

user @host:~$

接着便可以输入一系列的Linux指令,比如Ls,grep,cd,mkdir,rm等等

非交互模式:

执行shell脚本

在非交互模式下,shell从文件或者从管道中读取命令执行。

当shell解释器执行完文件的最后一个命令,shell进程终止回到父进程。

可以使用下面的指令让shell以非交互模式运行:

sh/path/to/script.sh
bash/path/to/script.sh
source/path/to/script.sh
./path/to/script.sh

上面的例子中,script.sh是一个包含shell解释器可以识别并执行的命令的普通文本文件,sh和bash是shell解释程序,你可以使用任何你喜欢的编辑器创建script.sh(vim,nano,Sublime Text,Atom等等)。

其中,source/path/to/script.sh和./path/to/script.sh是等价的。

除此之外,你还可以通过chmod命令给文件添加可执行的权限,来直接执行脚本文件

chmod +x/path/to/script.sh #使脚本具有执行权限
/path/to/test.sh

这种方式要求脚本文件的第一行必须指明该脚本的程序,比如:

示例源码:helloworld.sh

#!/usr/bin/env bash
echo "hello world!"

上面的例子中,我们使用一个很有用的命令echo来输出字符串在屏幕上。

二.基本语法

2.1解释器

在shell脚本,#!告诉系统其后路径所制定的程序既是解释此脚本文件的Shell解释器,#!被称为shebang(也称为Hashbang)。#!决定了脚本可以像一个独立的可执行文件一样执行,而不需要在终端输入sh,bash,python,php等。

以下两种方法都可以指定shell解释器为bash,第二种方式更好

#!bin/bash
#!usr/bin/env bash

2.2 注释

注释可以说明你的代码是什么作用,以及为什么这样写

shell语法中,注释是特殊的语句,会被shell解释器忽略掉

  • 单行注释  -以#开头,到行尾结束
  • 多行注释  -以:<<EOF开头,到EOF结束
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值