广告
返回顶部
首页 > 资讯 > 精选 >shell脚本命令行参数有哪些
  • 958
分享到

shell脚本命令行参数有哪些

2023-06-09 19:06:05 958人浏览 八月长安
摘要

本篇内容主要讲解“shell脚本命令行参数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本命令行参数有哪些”吧!之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员

本篇内容主要讲解“shell脚本命令行参数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本命令行参数有哪些”吧!

之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互。
bash shell提供了命令行参数添加在命令后面的数据值)、命令行选项修改命令行为的单字符值)和直接读取键盘输入。

命令行参数
向shell脚本传递数据的最基本方式是使用命令行参数。

1)读取参数
读取输入的参数的变量为位置参数,位置参数通过标准数字表示,
其中$0为程序名称,$1为第一个参数,$2为第二个参数,依次类推,直到$9为第九个参数。
shell脚本自动将命令行参数赋值给各个位置变量。
同时输入多个参数可以是数值也可以是字符串)时,必须使用空格分隔要想在参数值中包含空格,就必须使用单引号或双引号)
当参数多于9个后,必须在shell脚本内使用大括号将变量括起来,如${10}。从而可以使用任意个参数。

2)读取程序名称
传递给变量$0的字符串实际上是程序的路径根据调用方法决定是相对还是绝对路径)。
使用basename命令可以去掉路径前缀,只获得程序名称名字中不 可以有空格)。

3)测试脚本
当脚本认为应该包含参数,却实际上没有数据时,就会出错。
好的方法是对参数进行检查来保证使用参数前确实存在数据,可以使用-n参数来检查。
例子:if [ –n “$1” ] then .. else .. fi

特殊的参数变量
用于跟踪命令行参数

1)参数计数
使用特殊变量$#测试执行脚本时包含的命令行参数个数。脚本中任何位置都可以 使用$#
例子:if [ $# –ne 2 ] 即可测试参数个数
可以使用${!#}来返回最后一个命令行参数当无参数时,$#为0,而${!#}为程序名)

2)获取所有数据
变量$*将命令行中提供的所有参数作为一个单词处理,它将多个参数看成 一个参数。
变量$@将命令行中提供的所有参数作为同一个字符串中的多个单词处理。 允许对其中的值进行迭代一般使用for),分隔开不同参数

移位
shift命令能够改变命令行参数的相对位置。默 认将每个参数变量左移一个位置变量$0不变,把$1丢弃,注意不可以恢复了!)
在不清楚参数数目情况下,这是一个迭代参数的好办法。
可以为shift提供一个参数,来实现多位移变化。

处理选项
选项是由破折号引导的单个字母,用于更改命令的行为。

1,找出选项
1)处理简单选项
可以使用处理命令行参数相同的方法处理选项,抽取时使用case语句进行判断是否符合选项格式。
2)从参数中分离选项
同时使用选项和参数时,可以使用--指示选项列表的结束。发现--后,shell就知道后面的是普通参数了,停止使用case处理选项。
3)处理带值的选项
选项后紧跟参数值,一种方法是在case中对应选项后使用shift和读后一位参数的方法处理。更好的方法如 下:

2,使用getopt命令
getopt命令在处理选项和参数时非常方便。它对参数进行重新组 织,以便于解析
1)命令格式
getopt可以接受任意形式的选项和参数列表,并自动将它们转换为适当的格式。
命令格式为: getopt options optstring parameters
选项字符串(opstring)用于定义命令行中的有效选项字母,以及哪些选项字母需要参数值。
2)脚本中使用getopt
需要使用set命令将现有的命令行选项和参数替换为getopt命令生成的 格式化形式。
需要将原始脚本命令行参数送给getopt命令,然后将getopt命令输出送给set命令,如下:set – `getopts –q ab:cd “$@”`
但是getopt命令不能很好的处理带有空格的参数值,它将空格解析为参数分隔符,而不是将双引号引起来的两个 值合并成一个参数。解决办法如下:
3)更高级的getopts命令
getopts命令顺序的对现有的shell参数变量进行处理,每调用一次,只处理命令中检测到的参数中的一个。处理完所有参数后,以大于0的退出 状态退出。
非常适宜于在循环中解析所有命令行参数
格式为: getopts optstring variable
$optarg包含需要参数值的选项要使用的值,$optind包含getopts停止处理时在参数列表中的位置。
注意:当getopts处理时,会将选项前的-去掉,所以对应的case中不需要破折号。

好的特性:
1)可以在参数值中包含空格
2)选项字母和参数值中间可以没有空格
3)将在命令行中找到的未定义的选项都绑定为单一的输出——问号

标准化选项
有一些字母选项具有标准含义。最好按照标准含义定义选项意义
-a –c –d –e –f –h –i –l –n –o –q –r –s –v- x –y

获取用户输入
当需要在执行过程中获得执行脚本人员的输入,使用read命令
1)基本读取
read命令接受标准输入或其他文件描述符输入。读入后将数据放入 一个标准变量中。
-p 允许在read命令行中直接指定一个提示。
可以指定多个变量,也可以不指定将放置在reply环境变量中)
2)计时
使用-t指定一个计时器,计时数满还未输入,read返回一个非0的退出状态。
使用-n指定输入的字符个数,输入达到预定数目时,就自动结束输入
3)默读
使用-s使输入不显示在终端例如输入密码)
4)读取文件
最常用的方法是使用cat命令,并通过管道传给包含read的while语句。
例子:
代码示例:

代码如下:

cat test | while read line

到此,相信大家对“shell脚本命令行参数有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: shell脚本命令行参数有哪些

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

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

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

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

下载Word文档
猜你喜欢
  • shell脚本命令行参数有哪些
    本篇内容主要讲解“shell脚本命令行参数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本命令行参数有哪些”吧!之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员...
    99+
    2023-06-09
  • shell脚本命令行参数简介
    之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互。bash shell提供了命令行参数添加在命令后面的数据值)、命令行选项修改命令行为的单字符值)和直接读取键盘输入。 1、命令行参数...
    99+
    2022-06-04
    命令行 脚本 参数
  • Linux脚本Shell命令有哪些
    这篇文章将为大家详细讲解有关Linux脚本Shell命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.开头程序必须以下面的行开始(必须方在文件的***行):#!/bin/sh符号#!用来告诉系统...
    99+
    2023-06-17
  • shell脚本读取命令行参数的实现
    目录前提选项与参数:一.手工处理方式(已验证)二.getopts/getopt三.总结前提 在编写shell程序时经常需要处理命令行参数 选项与参数: 如下命令行: ./test.sh -f config.con...
    99+
    2022-06-04
    shell 读取命令行参数 shell 命令行参数
  • 怎么用shell脚本读取命令行参数
    这篇文章主要介绍“怎么用shell脚本读取命令行参数”,在日常操作中,相信很多人在怎么用shell脚本读取命令行参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用shell脚本读取命令行参数”的疑惑有所...
    99+
    2023-06-20
  • 有哪些常用的shell脚本命令
    有哪些常用的shell脚本命令?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。shell脚本基本命令:1、echo 命令1 基本使用Shell 的 echo 指令...
    99+
    2023-06-14
  • getopts解析shell脚本命令行参数的方法
    getopts命令格式 getopts optstring name [arg] optstring为命令行所有选项组成的字符串,每个字母代表一个选项。如果字母后有冒号:,表明该选项需要选择参数。比如说,执行getopt...
    99+
    2023-01-12
    shell脚本命令行参数 getopts解析shell脚本命令行参数 shell脚本命令行
  • 有哪些ssh远程执行命令方法和Shell脚本
    本篇内容主要讲解“有哪些ssh远程执行命令方法和Shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些ssh远程执行命令方法和Shell脚本”吧!ssh执行远程操作命令格式代码如下:...
    99+
    2023-06-09
  • 有哪些好用的Shell脚本常用命令
    这篇文章主要讲解了“有哪些好用的Shell脚本常用命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些好用的Shell脚本常用命令”吧!列出所有目录使用量,并按大小排序。代码如下:ls|...
    99+
    2023-06-09
  • nodejs脚本中执行shell命令
    nodejs脚本中执行shell命令 官方文档一:exec 方法执行shell命令1. _注意:2. _优点特性:3. _语法格式:4. _option对象属性:5. _示例: 二:spa...
    99+
    2023-08-31
    linux unix 服务器
  • shell中脚本参数传递的方法有哪些
    这篇文章主要介绍了shell中脚本参数传递的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方式一:$0,$1,$2..采用$0,$1,$2..等方式获取脚本命令行传...
    99+
    2023-06-09
  • 怎么用命令执行Shell脚本
    本篇内容主要讲解“怎么用命令执行Shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用命令执行Shell脚本”吧!假设这个 shell 脚本的名称为 tinyshell.sh。在 L...
    99+
    2023-06-09
  • 常用Perl命令行参数有哪些
    这篇文章将为大家详细讲解有关常用Perl命令行参数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Perl命令行应用介绍Perl语言中有很多Perl命令行参数.通过它们,我们有机会写出更简单的程序,在...
    99+
    2023-06-17
  • FileZilla Server.exe命令行参数都有哪些
    本篇文章给大家分享的是有关FileZilla Server.exe命令行参数都有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。FileZilla是一种快速、可信赖的FTP客...
    99+
    2023-06-16
  • 如何用PHP执行shell 脚本和 shell命令
    执行 shell 脚本: 或者首先使用 ssh2_connect 函数连接到远程主机,然后使用 ssh2_auth_password 函数进行身份验证。接下来,使用 ssh2_exec 函数执行 shell 脚本,将其输出流作为结果返回。...
    99+
    2023-08-31
    php linux 开发语言 Powered by 金山文档
  • 如何用shell脚本执行hadoop命令
    要使用shell脚本执行Hadoop命令,可以按照以下步骤操作:1. 创建一个新的文本文件,并使用任何文本编辑器打开它(如vi、na...
    99+
    2023-10-11
    hadoop
  • shell命令执行hive脚本(hive交互)
    目录Hive执行方式方式1方式二方式三Hive执行方式 Hive的hql命令执行方式有三种: 1、CLI 方式直接执行2、作为字符串通过shell调用hive –e执行(-S开启静默,去掉”OK&...
    99+
    2022-06-05
    shell命令执行hive shell执行hive
  • shell中使用expect命令进行远程执行命令脚本
    expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程。 注意: 1、脚本的执行方法与bash shell不一样,比如:expect example.sh 2、向一个脚本传递参数时,bas...
    99+
    2022-06-04
    用expect进行远程执行命令 shell中使用expect命令进行远程执行命令脚本
  • Linux cp命令参数有哪些
    这篇文章主要介绍“Linux cp命令参数有哪些”,在日常操作中,相信很多人在Linux cp命令参数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux cp命令...
    99+
    2022-10-19
  • Linux下Shell脚本中几种基本命令的替换区别有哪些
    这篇文章将为大家详细讲解有关Linux下Shell脚本中几种基本命令的替换区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Part 1 : ` command `这是 “命令标准输出作为函数标准输...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作