shell教程

shell教程

💡 原文中文,约3000字,阅读约需8分钟。
📝

内容提要

本文介绍了Shell脚本的基本用法,包括变量定义与使用、环境变量管理、参数传递、条件测试和函数定义。强调了当前Shell环境与子Shell执行脚本的区别,以及内置命令和外置命令的使用。

🎯

关键要点

  • Shell脚本中,单引号变量不识别特殊语法,双引号变量可以识别特殊语法。
  • 每次调用bash/sh解释器执行脚本时,都会开启一个子shell,当前shell变量不会保留。
  • 通过source命令或./方式执行脚本,会在当前shell环境加载脚本,保留变量。
  • 环境变量可以在命令行中临时创建,但用户退出后会丢失,需修改配置文件以永久生效。
  • 使用$0获取脚本文件名,$n获取传给脚本的参数位置,$#获取参数总数,$*和$@获取所有参数。
  • 内置命令在系统启动时加载,外置命令需从硬盘读取,内置命令执行效率更高。
  • 条件测试使用test命令,支持多种表达式,变量使用时需加双引号。
  • 函数定义可以使用多种语法,函数必须先定义后执行,局部变量使用local关键字定义。

延伸问答

Shell脚本中如何定义和使用变量?

在Shell脚本中,使用`name=value`的格式定义变量,单引号变量不识别特殊语法,双引号变量可以识别特殊语法。

如何在Shell中传递参数给脚本?

可以使用`$n`获取传给脚本的参数位置,`$#`获取参数总数,`$*`和`$@`获取所有参数。

Shell脚本中的内置命令和外置命令有什么区别?

内置命令在系统启动时加载,常驻内存,执行效率更高;外置命令需从硬盘读取,加载到内存中。

如何在Shell中进行条件测试?

使用`test`命令或`[`和`]`符号进行条件测试,变量使用时需加双引号。

Shell脚本中如何定义函数?

函数可以使用`function funcName() { ... }`或`funcName() { ... }`的语法定义,必须先定义后执行。

如何在Shell中管理环境变量?

环境变量可以在命令行中临时创建,用户退出后会丢失,需修改配置文件以永久生效。

➡️

继续阅读