`

shell脚本学习

阅读更多

1、exec命令

An exec <filename command redirects stdin to a file
An exec >filename command redirects stdout to a designated file
exec 2>filename 将会把执行的命令重定向到文件中 

 2、shift命令

        位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。

#!/bin/bash
until [ $# -eq 0 ]
do
  echo "First arguments: $1, Count of arguments: $#"
  shift
done

         输出:

$ ./param.sh 2 3 9 7
First arguments: 2, Count of arguments: 4
First arguments: 3, Count of arguments: 3
First arguments: 9, Count of arguments: 2
First arguments: 7, Count of arguments: 1

3、变量/参数的个数 $#

4、declare 声明变量,-a声明数组,-i声明整型

#!/bin/bash
declare -i a
a=3
echo "a = $a"

declare -a arr
arr='cainiao'
arr[1]='dragonfly'
echo "arr = ${arr[0]}"

     输出

$ ./declare.sh 
a = 3
arr = cainiao

 5、-z 判断字符串为空

#!/bin/bash
if [ -z "$1" ]; then
  echo "First arg is empty"
else
  echo "First argument is $1"
fi

     输出

$ ./zz.sh 
First arg is empty
$ ./zz.sh fun
First argument is fun

 6、-f、-d、-s、-r、-w、-x 判断文件/目录存在、非空、可读、可写、可执行

if [ -f  file ]    如果文件存在
if [ -d ...   ]    如果目录存在
if [ -s file  ]    如果文件存在且非空 
if [ -r file  ]    如果文件存在且可读
if [ -w file  ]    如果文件存在且可写
if [ -x file  ]    如果文件存在且可执行   

 7、dpkg安装失败时候处理,提示如下:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

     把一下命令的输出文件都删除了:

fuser /var/lib/dpkg/lock /var/lib/apt/lists/lock
ls -l /var/lib/dpkg/lock /var/lib/apt/lists/lock 

 8、字符串替换

curl -s $VERSION_URL | tr '\n' ',' | sed 's/,//g

   此处假设VERSION_URL返回值带有一个空行,此处会把空行删掉;tr不能直接把\n替换成'',所以看要转一转

 

分享到:
评论

相关推荐

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    shell脚本学习指南,中文清晰带书签

    ### Shell脚本学习指南知识点详解 #### 一、Shell脚本概述 - **定义与作用**:Shell脚本是用于Unix/Linux系统中的自动化任务的一种编程语言。它通过一系列的命令来实现对系统的控制和管理,可以极大地提高工作效率...

    shell脚本学习指南

    **Shell脚本学习指南** Shell脚本是Linux和Unix系统中的强大工具,它允许用户通过编写脚本来自动化一系列命令操作,极大地提高了系统管理和任务执行的效率。本文将深入探讨shell脚本的基础知识,包括语法、变量、...

    shell脚本学习指南pdf

    **Shell脚本学习指南** Shell脚本是一种在Unix/Linux操作系统中使用的编程语言,它允许用户通过命令行界面执行一系列操作,实现自动化任务处理。作为学习Shell脚本的指南,这本书籍旨在帮助读者深入理解Shell脚本...

    shell脚本学习手册

    ### Shell脚本学习手册知识点概览 #### 一、Shell脚本基础 1. **Shell概念** - Shell是一个用C语言编写的程序,它作为用户与Linux系统的桥梁,提供了一个命令行接口来访问操作系统服务。 - Shell既是命令语言也...

    Shell脚本学习指南.pdf

    这份“Shell脚本学习指南”涵盖了从基础到高级的多个方面,帮助初学者和经验丰富的开发者深入理解Shell脚本的精髓。 在开始学习之前,我们首先要明白什么是Shell。Shell是操作系统提供的一个用户界面,它接收用户...

    shell脚本学习指南-中文版

    以下是对"shell脚本学习指南-中文版"的详细知识点解析: 1. **Shell简介**:Shell是操作系统提供的一个用户界面,它允许用户输入命令并执行系统调用。常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh、Ksh和Zsh...

    Shell脚本学习指https://pan.baidu.com/s/1sPfOlmfcq1PmzOkD0ZnsyA

    这个“Shell脚本学习指南”资源显然旨在帮助初学者和进阶者更好地理解和掌握这一核心技术。 首先,我们需要理解什么是Shell。Shell是操作系统提供的一种用户界面,它允许用户通过命令行与操作系统内核交互。在Linux...

    Shell脚本学习教程PDF版

    在“Shell脚本学习教程PDF版”中,你将深入理解Shell脚本的基本概念、语法结构以及高级特性。 首先,Shell脚本的基础包括变量、条件语句、循环结构和函数。变量是存储数据的地方,可以是文本、数字或者其他类型。在...

    SHELL脚本学习指南

    **SHELL脚本学习指南** 在信息技术领域,Shell脚本是一种强大的工具,尤其在Linux和Unix系统中,它被广泛用于自动化日常任务、系统管理以及软件部署。本指南将深入探讨Shell脚本的基础和高级概念,帮助你充分利用这...

    Shell脚本学习指南_中文版,shell脚本基础,LINUX

    这个“Shell脚本学习指南_中文版”涵盖了从基础到进阶的Shell脚本知识,是学习Linux Shell编程的理想资源。以下是基于标题、描述和标签的主要知识点: 1. **Shell的定义与作用**:Shell是Linux或Unix系统的命令解释...

    shell脚本学习资料

    这份"shell脚本学习资料"涵盖了使用Shell脚本进行系统管理、文件操作以及数据处理的核心概念。下面我们将深入探讨sed和awk这两个在Shell脚本中常用的命令。 **sed(Stream Editor)** sed是一种流编辑器,它能够...

    linux shell脚本学习文档

    这份"Linux Shell脚本学习文档"是针对初学者的一份详细教程,旨在帮助读者快速理解和掌握Bash Shell脚本的基本概念和用法。 首先,让我们从基础开始。在Shell脚本中,每一行都是一个命令或指令,可以执行诸如创建、...

Global site tag (gtag.js) - Google Analytics