一、用户交互
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编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux shell编程指南linux ...
LinuxShell编程基础教程.pdf
本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。 本书旨在通过理清Linux Shell编程的脉络,从基本概念...
Linux Shell编程基础 linux编程 shell编程 linux基础编程
Linux Shell编程从入门到精通.张昊.pdf Linux Shell编程从入门到精通.张昊.pdf
第1章 Shell脚本编程概述 1 第2章 Linux文件系统和文本编辑器 12 第3章 正则表达式 43 第4章 sed命令和awk编程 64 第5章 文件的排序、合并和分割 105 第6章 变量和引用 133 ...第17章 bash Shell编程范例 420
linux 命令行、linux shell 编程知识!
LINUX与UNIX SHELL编程指南
linux shell 编程 linux shell 编程
LinuxShell脚本编程实例.pdf
Linux Shell编程基础 1.调用shell 2.注释 3.执行shell脚本 4.接收用户输入并赋值给变量 5.Bash中的变量 1. 环境变量 1.1HOME 2.2LANG 3.3SHELL 4.4PATH 5.5PS1 6.6PS2 7.7只读环境变量 8.8永久修改环境变量 2. 位置...
Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06
LinuxShell编程基础.pdf
linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程linux shell 编程
linux 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 编程 ...
linux shell编程手册,供初学都等学习使用!!!
Linux与Unix shell编程指南(完整高清版)Linux与Unix shell编程指南(完整高清版)Linux与Unix shell编程指南(完整高清版)Linux与Unix shell编程指南(完整高清版)Linux与Unix shell编程指南(完整高清版)Linux...
shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)