当前位置:首页 >> 电脑基础

linux shell命令行及脚本编程实例详解

linux shell命令行及脚本编程实例详解

什么是Shell

Shell是指操作系统提供给用户的一个界面,用户可以通过该界面来调用系统的命令和程序。Linux中提供了多种Shell,在大部分的Linux系统中默认使用的是bash(Bourne-Again SHell)。

Shell命令行

Shell命令行是用户与Shell进行交互的主要方式。用户通过Shell命令行输入命令,Shell则会执行并返回输出结果。

Shell脚本编程

Shell脚本是一种编写Shell命令的文本文件,其扩展名为.sh。脚本文件中包含了一系列的Shell命令和程序,可以完成一定的自动化工作。

基本的Shell命令

以下是一些常见的Shell命令:

  • ls 列出当前目录下的文件和文件夹
  • cd 切换目录
  • mkdir 创建目录
  • rm 删除文件或目录
  • cat 查看文件内容
  • echo 输出字符串

Shell变量

Shell变量是用于存储数据的一种方法,可以使用var=value的方式进行赋值,例如:

name=\"John\"echo $name  输出John

Shell条件语句

Shell条件语句可以根据某个条件执行不同的命令或程序。例如:

if [ $name == \"John\" ]then    echo \"Hello John\"else    echo \"Who are you?\"fi

Shell循环语句

Shell循环语句可以多次执行某个命令或程序。例如:

for i in $(seq 1 10)do    echo $idone

Shell函数

Shell函数是一段可以重复使用的代码,定义和调用函数的方式如下:

function myfunc() {    echo \"Hello World\"}myfunc

Shell脚本编程实例

下列为一个简单的Shell脚本,用于统计当前目录下所有文件的行数:

!/bin/bashfor file in $(ls)do    if [ -f $file ]    then        lines=$(wc -l \"$file\" | awk '{print $1}')        echo \"$file has $lines lines\"    fidone

该脚本首先循环列出当前目录下的所有文件,判断是否为文件并使用wc -l命令统计文件行数并输出。终的输出结果如下:

file1 has 10 linesfile2 has 20 linesfile3 has 30 lines...

需要注意的是,该脚本只能统计文本文件的行数,若有其他类型的文件则会无法处理。