Linux:Shell 脚本的简要入门

本文介绍了Linux Shell脚本的基础知识,包括Hello World示例、变量、流程控制、导入函数和脚本、参数处理。通过实例展示了如何编写Android工程自动打包脚本,并推荐了oh-my-zsh、Guake和Cmder等Shell工具。
摘要由CSDN通过智能技术生成

【转载请注明出处】
作者:DrkCore
原文:https://blog.csdn.net/DrkCore/article/details/99710828

笔者第一次接触 Linux 操作系统还是在大学时代,当虚拟机显示出 Ubuntu 的标识的那一刻笔者才知道原来操作系统并不是只有 Windows,可惜之后一直没能好好研究这个系统,直到随着工作的变动这才有了机会领略一番 Linux 的命令行和 Shell 脚本的威力。

MaxOS 和 Linux 都是类 Unix 系统所以 Shell 脚本的语法都能兼容,而 Windows 阵营在微软于 Win10 上推出 WSL(Windows Subsystem for Linux)之后也能使用 Shell 的语法。对于普通的开发者来说 WSL 提供的 Linux 功能堪称完美,在其上编译 APK 毫无问题。

工作中笔者主要使用的系统是 Linux Mint,这个系统对新手十分友好,如果你是刚刚从 Windows 系统转过来的话可能还会对它的界面和交互模式有种莫名的熟悉感,推荐刚接触 Linux 的读者安装使用。

好了,让我们进入正文,聊一聊如何入门 Shell 脚本的编写吧!

Hello World

#!/bin/bash

# 该脚本执行后将会输出 Hello World
echo "Hello Word"

将这段代码另存为 helloworld.sh 文件,并如下执行命令:

$ chmod +x helloworld.sh
$ ./helloworld.sh
HelloWorld

可以看到脚本成功输出了我们想要的 Hello World

Shell 脚本中比较基础的知识点如下:

  • 开头的 #! 语法用于标注脚本的解释器,本例中解释器是 bash,不指定解释器则由运行环境决定
  • 使用 # 作为注释的开头
  • chmod +x 文件名 命令用于授予文件执行权限,没有执行权限就尝试运行会抛出 Permission denied 异常
  • echo 命令常用于输出日志
  • 绝大多数命令直接加 -h 或者 --help 就能看到使用说明
  • 敲命令行的时候可以使用 TAB 键来补全部分命令

变量

#!/bin/bash

# 基本上 Shell 能用的变量类型就时数字、字符串和数组了
var_num=123
var_str="MyName"
# 数组申明时,元素之间使用空格来间隔,而不是常见的逗号
var_array=(1 2 3)

echo "var_num is ${var_num}"
echo "var_str is ${var_str}"

# 截取字符串,表示从下标 1 个开始截取 3 个字符
echo "${var_str:1:3}"
# 字符串长度
echo "the length of the string is ${#var_str}"
# 字符串拼接,类似 Kotlin
var_str="num is ${var_num} and str is ${var_str}"
echo "${var_str}"
# 需要注意的是,如果你使用了单引号的话用 ${var_num} 来引用变量将是无效的
var_str='the num is ${var_num}'
echo "${var_str}"

# 数组操作
echo "var_array is ${var_array[*]}"
echo "v1 is ${var_array[1]}"
echo "the length of var_array is ${#var_array[@]}"

# 数学计算
let a=5+4
let b=a-3 
echo $a $b
  • 变量名限制和大多数编程语言类似
  • 变量名和等号之间不能有空格
  • 使用 ${var} 的格式来引用变量
  • 使用 let 命令可以进行数字的计算,在 let 命令的表达式中不需要使用 ${var} 格式来引用变量

流程控制

#!/usr/bin/env bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值