正文
脚本的命令行参数会成为名字为数字的变量。$1
是第一个命令行参数,$2
是第二个,依次类推。$0
是所调用的脚本名。
#!/bin/bash #Program: # show usage && test argument #History: #2022/10/08 junfenghe.cloud@qq.com version:0.0.1 path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export path show_usage() { echo "Usage: $0 source_dir dest_dir" 1>&2 exit 1 } # Main program starts here if [ $# -ne 2 ]; then show_usage else # There are two arguments if [ -d $1 ]; then source_dir=$1 else echo 'Invalid source directory' 1>&2 show_usage fi if [ -d $2 ]; then dest_dir=$2 else echo 'Invalid destination directory' 1>&2 show_usage fi fi echo "Source directory is ${source_dir}" echo "Destination directory is ${dest_dir}" exit 0
如果调用脚本时不带参数或者参数不正确,该脚本会输出一段简短用法说明,提醒用户使用方法。上例中的脚本接受两个参数并验证其均为目录,然后显示出来。如果参数无效,那么脚本在输出用法说明后使用非 0 的返回码退出。如果调用这个脚本的程序检查该返回码,就会知道脚本执行失败。