Shell (六)

Shell 命令行参数

在脚本中通过 $1, $2, $3, 引用参数${10} 时,参数必须在大括号中。

#!/bin/bash

# Call this script with at least 10 parameters, for example
# ./scriptname 1 2 3 4 5 6 7 8 9 10
MINPARAMS=10

echo

echo "The name of this script is \"$0\"."
# Adds ./ for current directory
echo "The name of this script is \"`basename $0`\"."
# Strips out path name info (see 'basename')

echo

if [ -n "$1" ]              # Tested variable is quoted.
then
 echo "Parameter #1 is $1"  # Need quotes to escape #
fi 

if [ -n "$2" ]
then
 echo "Parameter #2 is $2"
fi 

if [ -n "$3" ]
then
 echo "Parameter #3 is $3"
fi 

# ...


if [ -n "${10}" ]  # Parameters > $9 must be enclosed in {brackets}.
then
 echo "Parameter #10 is ${10}"
fi 

echo "-----------------------------------"
echo "All the command-line parameters are: "$*""

if [ $# -lt "$MINPARAMS" ]
then
  echo
  echo "This script needs at least $MINPARAMS command-line arguments!"
fi  

echo

exit 0

脚本的返回状态

shell 中使用exit命令来结束脚本,就像C程序一样,也会有一个返回值来给到父进程。

每个命令都会返回一个exit状态,如果命令执行成功,返回0。如果返回一个非零值,通常情况下都会认为是一个错误码。

当一个脚本不以exit退出时,就用最后一个命令的返回码来作为脚本的状态。

在shell中,使用$?来读取最后一个命令的退出码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Shell 函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的...
    yyshang阅读 368评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,203评论 2 33
  • 概述 首先,咱们来了解一下,什么是Shell。操作系统内核给我们提供了各种接口,同时也提供了各种用户层的库,理论上...
    keysaim阅读 1,408评论 0 0
  • 概要本章,会对synchronized关键字进行介绍。涉及到的内容包括:1. synchronized原理2. s...
    博格体阅读 529评论 1 12
  • 可以不用征服世界,不用出人头地,不用功成名就,不用腰缠万贯,拥有你就能感觉到幸福了。 我所理解的幸福生活,...
    镜面罗阅读 221评论 0 0