一、用户交互
1、命令行参数
$0:程序名
$1~$9:参数
当多余9个参数时: ${10} ${11}...${n}
2、参数个数:$#
3、最后一个参数:${!#} 或 last=$#;$last
4、全部参数
$*:把整行当成一个参数
$@:同一字符串中的多个对立单词
基本上使用$@
5、移动参数变量shift n(无n默认1)
#!/bin/bash #descrip: test PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin while [ -n "$1" ] do echo $1 shift done exit 0
6、处理选项
#!/bin/bash #descrip: test PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin while [ -n "$1" ] do case $1 in -a) echo "-a option";; -b) echo "-b option";; -c) echo "-c option";; *) echo $1" is not a option" esac shift done exit 0
7、getopt命令的使用
getopt abc:d -abd -c test1 test2
result: -a -b -d -c test1 -- test2
脚本中使用set -- `getopt -q abc:d "$@"`
#!/bin/bash #descrip: test PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin set -- `getopt ab:c "$@"` while [ -n "$1" ] do case $1 in -a) echo "-a option";; -b) echo "-b option -param "$2 shift;; -c) echo "-c option";; --) shift;break;; *) echo $1" is not a option" esac shift done for p in $@ do echo "params $p" done exit 0
getopts高级使用
#!/bin/bash #descrip: test PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaolong.hou/bin:/usr/local/jdk1.7/bin:/usr/local/maven/bin:/usr/local/hadoop-1.2.1/bin while getopts :ab:c opt do case $opt in a) echo '-a option';; b) echo '-b option with param '$OPTARG;; c) echo '-c option';; *) echo 'unknown option '$opt esac done shift $[ $OPTIND - 1 ] for p in $@ do echo "param: "$p done exit 0
8、用户输入
read -n -t -p var_input
read -s 密码输入等用到
$REPLY变量将存放输入的值
相关推荐
Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,...
Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一种非常灵活的工具,通过shell编程可以自动化大量的任务,especially适合那些易用性、可维护性和便携性比效率更重要的任务。下面是Linux Shell编程...
Linux Shell 编程基础 Linux Shell 编程基础是 Linux 操作系统中一个非常重要的组件,它提供了一个交互式命令行界面,允许用户输入命令来执行各种操作。在 Linux 系统中,Shell 是一个命令解释器,它可以解释用户...
本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。 本书旨在通过理清Linux Shell编程的脉络,从基本概念...
Linux Shell编程基础 linux编程 shell编程 linux基础编程
Linux Shell编程是Linux系统中非常重要的一个环节,它允许用户通过命令行接口编写脚本,自动化执行一系列操作,极大地提高了工作效率。在这个主题中,我们将深入探讨Linux命令行基础以及Shell编程的相关知识。 首先...
Linux Shell编程是Linux系统中非常重要的一个环节,它是一种命令解释器,同时也是脚本编程语言。Shell编程使得用户可以通过编写脚本来自动化重复性任务,提高工作效率。这份"Linux Shell编程手册"将引领初学者深入...
Linux Shell编程与服务器管理是系统管理员和网络管理员必须掌握的高级技能之一。Shell作为操作系统的一个重要组件,是用户与系统核心之间的接口,几乎所有管理者在日常工作中都会频繁地与Shell打交道。Shell具有解释...
"Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...
Linux Shell编程是Linux系统管理与自动化任务的核心技术之一,它主要指的是使用Shell脚本来执行一系列命令,实现自动化操作。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,也是许多Linux发行版的默认...
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写简单的命令序列来执行复杂的任务。这份"Linux Shell编程教材配套PPT"将帮助你深入...
但根据文件信息中的标题和描述,可以推断出本书内容涉及Linux Shell编程的基础知识和技能提升。下面将基于Linux Shell编程这一主题,详细说明相关知识点。 Linux Shell编程是学习Linux系统管理和自动化脚本的重要...
《LINUX与UNIX Shell编程指南》是一本专为初学者设计的shell编程教程,它深入浅出地介绍了在Linux和UNIX系统中如何使用Shell进行高效自动化任务处理。Shell编程是Linux和UNIX系统中的核心技术,它允许用户通过命令行...
linux shell编程经典书籍,该版本为中文版,读懂这本书,你将成为Linux编程高手
linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程
Linux Shell编程是Linux系统管理与自动化任务的核心技术之一。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写脚本来执行一系列命令,从而实现自动化操作,提高工作效率。这本书《Linux Shell编程...
Linux Shell脚本编程实例是指使用Linux Shell编程语言编写的脚本程序,用于自动化系统管理、数据处理、网络管理等任务。Shell脚本语言是Linux操作系统的命令解释器,它可以读取用户的命令,并将其转换为机器语言,...
Linux Shell编程是利用Shell语言进行的一种编程方式,它是Linux操作系统中不可或缺的一部分。Shell可以解释和执行用户输入的命令,同时也可以用于编写脚本程序,实现自动化的任务处理。Shell编程的主要特点包括定义...
LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 LINUX UNIX SHELL 编程 ...