iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Shell脚本位置参数如何使用
  • 726
分享到

Shell脚本位置参数如何使用

2023-07-05 15:07:52 726人浏览 安东尼
摘要

这篇文章主要介绍“shell脚本位置参数如何使用”,在日常操作中,相信很多人在Shell脚本位置参数如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本位置参数如何使用”的疑惑有所帮助!接下来

这篇文章主要介绍“shell脚本位置参数如何使用”,在日常操作中,相信很多人在Shell脚本位置参数如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本位置参数如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.访问命令行

Shell提供了一组名为位置参数的变了,其中包含了命令行上的各个单词,这些变量按照0-9分别命名,

[sysadmin@ansible bin]$ cat posit-param.sh#!/bin/bashecho "\$0 = $0\$1 = $1\$2 = $2\$3 = $3\$4 = $4\$5 = $5\$6 = $6\$7 = $7\$8 = $8\$9 = $9"[sysadmin@ansible bin]$ posit-param.sh$0 = /home/sysadmin/bin/posit-param.sh$1 =$2 =$3 =$4 =$5 =$6 =$7 =$8 =$9 =

就算没有提供参数值,$0始终出现在命令行中的第一项,表示执行程序的路径。如果提供了参数值,会看到下列执行结果:

[sysadmin@ansible bin]$ posit-param.sh a b c d

$0 = /home/sysadmin/bin/posit-param.sh
$1 = a
$2 = b
$3 = c
$4 = d
$5 =
$6 =
$7 =
$8 =
$9 =

能通过参数扩展访问的位置参数不止9个,要想指定第9个之后的参数,将数字放入花括号中即可。即${10}、${211}等

2 确定参数个数

Shell还提供了变量$#,其中包含了命令行中的参数个数

[sysadmin@ansible bin]$ cat posit-param.sh#!/bin/bashecho "Number of arguments: $#\$0 = $0\$1 = $1\$2 = $2\$3 = $3\$4 = $4\$5 = $5\$6 = $6\$7 = $7\$8 = $8\$9 = $9"[sysadmin@ansible bin]$ posit-param.sh a b c dNumber of arguments: 4$0 = /home/sysadmin/bin/posit-param.sh$1 = a$2 = b$3 = c$4 = d$5 =$6 =$7 =$8 =$9 =

3 shift-访问多个参数

每执行一次shift命令,就将所有的参数“左移一个位置”。实际上,通过shift命令,我们可以从始至终只和一个参数打交道(除了$0):

[sysadmin@ansible bin]$ cat posit-param2.sh#!/bin/bashcount=1while [[ $# -gt 0 ]]; do        echo "Argument $count = $1"        count=$((count + 1))        shiftdone[sysadmin@ansible bin]$ posit-param2.sh a b c dArgument 1 = aArgument 2 = bArgument 3 = cArgument 4 = d

每次执行shift,$2的值就会移入$1,然后$3的值移入$2,依次类推。与此同时,$#的值也会相应减一。

4 简单应用

[sysadmin@ansible bin]$ cat file-info#!/bin/bash#file-infoPROGNAME="$(basename "$0")"if [[ -e "$1" ]]; then        echo -e "\nFile Type:"        file "$1"        echo -e "\nFile Status:"        stat "$1"else        echo "$PROGNAME: usage: $PROGNAME file" >&2        exit 1fi

5 在Shell函数中使用位置参数

位置参数既可以向Shell脚本传递参数,也可以向Shell函数传递参数。作为演示,我们将file_info脚本改写成Shell函数:

[sysadmin@ansible bin]$ cat file-info#!/bin/bash#file-infofile_info () {        if [[ -e "$1" ]]; then        echo -e "\nFile Type:"            file "$1"                echo -e "\nFile Status:"                stat "$1"        else                echo "$FUNCNAME: usage: $FUNCNAME file" >&2                return 1        fi}file_info "$1"

6 批量处理位置参数

有时候批量处理所有位置参数更为实用,Shell为此提供了两个特殊参数*和@,两者均可扩展成完整的位置参数列表,但其区别有些微妙。

参数描述
$*扩展成从1开始的位置参数列表。如果它出现在双引号内部,则扩展成由双引号引用的字符串,其中包含了所有的位置参数,彼此之间以Shell变量IFS的第一个字符分割(默认是空格符)
$@扩展成从1开始的位置参数列表,如果它出现在双引号内部,则将每个位置参数扩展成独立的单词
[sysadmin@ansible bin]$ cat posit-params3#!/bin/bash# posit-params3print_params () {        echo "\$1 = $1"        echo "\$2 = $2"        echo "\$3 = $3"        echo "\$4 = $4"}pass_params () {        echo -e "\n" '$* :';print_params $*        echo -e "\n" '"$*" :';print_params "$*"        echo -e "\n" '$@ :';print_params $@        echo -e "\n" '"$@" :';print_params "$@"}pass_params "Word" "words with spaces"[sysadmin@ansible bin]$ posit-params3 $* :$1 = word$2 = words$3 = with$4 = spaces "$*" :$1 = word words with spaces$2 =$3 =$4 = $@ :$1 = word$2 = words$3 = with$4 = spaces "$@" :$1 = word$2 = words with spaces$3 =$4 =

到目前为止,“$@”适用于大部分情况,因为其保留了每个位置参数的整体性。为了保证安全性,应该坚持使用这种方法。

到此,关于“Shell脚本位置参数如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Shell脚本位置参数如何使用

本文链接: https://www.lsjlt.com/news/352836.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell脚本位置参数如何使用
    这篇文章主要介绍“Shell脚本位置参数如何使用”,在日常操作中,相信很多人在Shell脚本位置参数如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本位置参数如何使用”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • Shell脚本位置参数的具体使用
    目录1.访问命令行2 确定参数个数3 shift-访问多个参数4 简单应用5 在Shell函数中使用位置参数6 批量处理位置参数1.访问命令行 Shell提供了一组名为位置参数的变了,其中包含了命令行上的各个单词,这些变...
    99+
    2023-03-23
    Shell脚本位置参数 Shell 位置参数
  • 如何理解Shell脚本中的位置变量参数
    这篇文章主要介绍“如何理解Shell脚本中的位置变量参数”,在日常操作中,相信很多人在如何理解Shell脚本中的位置变量参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Shell脚本中的位置变量参数...
    99+
    2023-06-09
  • java如何调用shell脚本传参数
    在Java中调用Shell脚本并传递参数有多种方法,以下是其中一种常见的方法:1. 使用`java.lang.Runtime`类的`...
    99+
    2023-09-15
    java
  • linux如何传参数到shell脚本
    linux中传参数到shell脚本的方法:1、打开linux终端;2、在命令行中输入“vim test.sh”命令创建一个shell脚本;3、在test.sh脚本中添加传参代码;4、输入“chmod +x test.sh”命令给test.s...
    99+
    2024-04-02
  • ubuntu如何传参数到shell脚本
    ubuntu传参数到shell脚本的示例:打开终端输入以下命令创建一个shell脚本。vim test.sh脚本test.sh的内容如下:#!/bin/shname=$1echo "the ${name} are great man!"再输...
    99+
    2024-04-02
  • shell脚本如何获取隐含参数
    这篇文章给大家分享的是有关shell脚本如何获取隐含参数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。脚本涉及:gethidpar.sql 获取隐含参数     ...
    99+
    2023-06-06
  • Shell脚本如何使用
    小编给大家分享一下Shell脚本如何使用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! shell前言Shell 能够接收用户输入的命令,并对命令进行处理,处理完毕后再将结果反馈给用户,比如输出到显示器、写入到文...
    99+
    2023-06-15
  • Shell脚本中如何使用Java数组?
    在Shell脚本中使用Java数组是一个非常常见的需求。这是因为Java数组在存储大量数据时非常方便,而Shell脚本则常常需要处理大量数据。本文将介绍如何在Shell脚本中使用Java数组。 声明和初始化Java数组 在Java中声...
    99+
    2023-09-22
    数组 关键字 shell
  • node中如何使用shell脚本
    这篇文章将为大家详细讲解有关node中如何使用shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。新建项目下新建脚本文件touch newFile.sh修改文件权限chmod ...
    99+
    2023-06-14
  • shell脚本function传参的具体使用
    这里直接上操作来说明function 的传参 新建一个脚本 vi 1.sh #!/bin/bash function check_a { echo $2 echo $3 echo "this...
    99+
    2023-04-26
    shell function传参 shell function
  • 如何使用shell脚本语言
    今天就跟大家聊聊有关如何使用shell脚本语言,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、shell的概述shell 是一种脚本语言脚本:本质是一个文件,文件里面存放的是 特定...
    99+
    2023-06-09
  • java怎么调用shell脚本传参数
    在Java中调用shell脚本并传递参数,可以使用`ProcessBuilder`类。以下是一个示例:```javaimport j...
    99+
    2023-10-11
    java shell
  • 如何使用shell脚本函数控制颜色、定位、居中显示
    这篇文章主要为大家展示了“如何使用shell脚本函数控制颜色、定位、居中显示”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用shell脚本函数控制颜色、定位、居中显示”这篇文章吧。一、控制...
    99+
    2023-06-09
  • Linux下shell位置参数怎么用
    这篇文章将为大家详细讲解有关Linux下shell位置参数怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、引言  之前我们一直没有涉及程序接收和处理命令行选项以及参数的能力。本章节将讲述允许程序访...
    99+
    2023-06-28
  • 如何使用Shell脚本case语句
    这篇文章主要介绍“如何使用Shell脚本case语句”,在日常操作中,相信很多人在如何使用Shell脚本case语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Shell脚本case语句”的疑惑有所...
    99+
    2023-06-09
  • 如何使用Shell脚本test命令
    这篇文章主要讲解了“如何使用Shell脚本test命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Shell脚本test命令”吧!Shell中的 test 命令用于检查某个条件是否...
    99+
    2023-06-09
  • 怎么使用shell脚本判断参数是否为空
    在shell脚本中,可以使用条件判断语句来判断参数是否为空。以下是一个示例:```shell#!/bin/bashif [ -z "...
    99+
    2023-09-15
    shell
  • 如何使用Shell脚本echo指令
    本篇内容主要讲解“如何使用Shell脚本echo指令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Shell脚本echo指令”吧!echo是Shell的一个内部指令,用于在屏幕上打印出指...
    99+
    2023-06-09
  • 如何在ASP中使用shell脚本?
    如何在ASP中使用Shell脚本? 在ASP中使用Shell脚本可以帮助我们实现一些比较复杂的操作,例如运行一些需要在命令行中执行的程序、执行一些系统级别的操作等等。本文将介绍如何在ASP中使用Shell脚本,并通过演示代码来帮助大家更好地...
    99+
    2023-07-27
    缓存 shell 异步编程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作