首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何打印接收到的第三个参数,从Unix Korn shell的末尾到开头

在Unix Korn shell中,要打印接收到的第三个参数,可以使用以下代码:

代码语言:txt
复制
#!/bin/ksh

# 获取参数个数
num_args=$#

# 判断参数个数是否大于等于3
if [ $num_args -ge 3 ]; then
    # 获取第三个参数的索引(从末尾开始计数)
    index=$((num_args - 2))

    # 获取第三个参数的值
    third_param=${!index}

    # 打印第三个参数
    echo $third_param
else
    echo "至少需要传入三个参数"
fi

上述代码中,首先通过$#获取传入参数的个数,然后判断参数个数是否大于等于3。如果满足条件,通过$((num_args - 2))计算出第三个参数的索引(从末尾开始计数),然后使用${!index}获取第三个参数的值,并通过echo打印出来。如果参数个数小于3,则输出提示信息。

这个问题涉及到Unix Korn shell的参数处理和变量引用。Unix Korn shell是一种Unix/Linux操作系统中常用的shell脚本语言,用于编写和执行命令行脚本。在脚本中,可以通过$1$2$3等方式获取传入的参数值,其中$1表示第一个参数,$2表示第二个参数,以此类推。而${!index}则表示间接引用变量,其中index为变量名,通过!符号进行间接引用。

这个问题中没有提到具体的云计算相关内容,因此无法给出与云计算相关的推荐产品和链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何编写一个shell脚本

    Shell命令和流程控制  在shell脚本中可以使用三类命令:  1)Unix 命令:  虽然在shell脚本中可以使用任意unix命令,但是还是由一些相对更常用命令。...tail file : 打印文本文件末尾几行  sed: Sed是一个基本查找替换程序。...一个 "Here document" 以 << 开头,后面接上一个字符串,这个字符串还必须出现在here document末尾。...下一步,我们使用shift命令将第一个和第二个参数参数列表中删除,这样原来第三个参数就成为参数列表$*第一个参数。然后我们开始循环,命令行参数列表被一个一个地被赋值给变量$file。...脚本首先在所有输入命令行参数中进行循环,将输入参数与case表达式进行比较,如果匹配则设置一个变量并且移除该参数。根据unix系统惯例,首先输入应该是包含减号参数

    1.7K40

    Shell 编程日记

    Shell 脚本语法 Shell 解释器 名称 路径 简介 Bourne Shell /usr/bin/sh或/bin/sh Bourne shell是AT&T开发原始UNIX shell以其开发人员...shell;主要是为了让用户更容易使用交互式功能,并把ALGOL风格语法结构变成了C语言风格 Korm Shell /usr/bin/ksh 贝尔实验室David Korn在上世纪80年代初开发基于...等语句控制; Shell 脚本句末无须标点符号标记,换行即表示语句结束; Shell 脚本严格区分大小写,a 和 A 是完全不同两个字符串; Shell 脚本通常以 /usr/bin/bash 开头...,必须以此句开头,表示 shell 脚本解释器; Shell 脚本注释用 # 开头,但第一句除外/usr/bin/bash; Shell 脚本通常以 .sh 为后缀命名,约定成俗; Shell 脚本调试可以使用...,第三行结束,并替换 sed '2,$s/str_old/str_new' file // 第二行开始全文匹配,并替换 // 删除行操作 sed '5d' file // 删除文件 file

    20320

    Linux-基础命令(二)

    Linux-基础命令(一) 以下每个命令都有很多选项或者说参数,并不需要大家记住,但是需要记住每个命令主要功能即可,在日常使用中慢慢熟悉即可。...more //文件开头顺着看文件 head //文件开头看文件,默认只显示10行 tail //文件末尾看文件,默认只显示10行vi //vi打开一个已经存在文件...-s:将多个连续空行合并为一个空行输出。 -E:在每行末尾显示 $ 符号。 -T:将制表符显示为 ^I。 -A:同时显示 -E、-T 和 -v 效果,以可见方式显示非打印字符。...总结 more命令在日常运维中,主要用于开头向下查看文件,以页为单位,适合看大文件。 head 命令是 Unix 和类 Unix 操作系统中一个基本命令,用于显示文件开头部分。...head 命令常用于管道操作或文件预览,特别是在需要快速查看文件开头部分时。 总结 head 命令在日常运维中,用于查看文件其实用得比较少,反而在shell脚本中用得比较多。

    6610

    linux实战(一)

    'command'主要参数 a :新增, a 后面可以字串,而这些字串会在新一行出现(目前下一行)~ c :取代, c 后面可以字串,这些字串可以取代 n1,n2 之间行!...$ sed -n '5,/^test/p' example 打印第五行开始第一个包含以test开始行之间所有行。...awk环境变量 变量描述 $n 当前记录第n个字段,字段间由FS分隔。 $0 完整输入记录。 ARGC 命令行参数数目。 ARGIND 命令行中当前文件位置(0开始算)。...以下几个是gawk专用,不适合unix版本awk。 \Y 匹配一个单词开头或者末尾空字符串。 \B 匹配单词内空字符串。 \< 匹配一个单词开头空字符串,锚定开始。...\> 匹配一个单词末尾空字符串,锚定末尾。 \w 匹配一个字母数字组成单词。 \W 匹配一个非字母数字组成单词。 \‘ 匹配字符串开头一个空字符串。

    2.2K10

    Awk学习笔记

    $0 完整输入记录。 ARGC 命令行参数数目。 ARGIND 命令行中当前文件位置(0开始算)。 ARGV 包含命令行参数数组。...\Y 匹配一个单词开头或者末尾空字符串。 \B 匹配单词内空字符串。 \< 匹配一个单词开头空字符串,锚定开始。...范围模板 范围模板匹配第一个模板第一次出现第二个模板第一次出现之间所有行。如果有一个模板没出现,则匹配到开头末尾。...如果找到一个新正则表达式root开头记录,则继续打印直到下一个以正则表达式mysql开头记录为止,或文件末尾。 14. awk编程 14.1. ...执行shelldate命令,并通过管道输出给getline,然后getline管道中读取并将输入赋值给d,split函数把变量d转化成数组mon,然后打印数组mon第二个元素。

    2.4K30

    Linux问题汇总

    set ff查询文件格式,结果如下: fileformat=dos 不同操作系统使用了不同符号来换行,可以简单参考下下面的表格: 系统 换行符 DOS CR/LF UNIX LF MAC CR...如果通过Windows下Git将文件提交到Linux上服务器,也会收到换行符将被替换消息通知。...如果网络连通则会打印出来连接已建立Connection established。...17:55:55 将当前时间和日期写入BIOS,避免重启后失效 // 不加参数可以直接看到当前日期时间 date // 不加参数可以直接看到本月月历 cal 附注 // 不加参数可以直接看到当前日期时间...在Linux中,以.开头文件都是隐藏文件,可以通过使用ll -a或者ls -a来查看。 而这种swp文件是隐藏文件,有两个作用: 避免用多个程序编辑同一个文件时,产生两个不同版本。

    1.2K20

    Shell四剑客实操案例

    逐行处理直到文件末尾,然而如果打印在屏幕上,实质文件内容并没有改变,除非你使用重定向存储输出或者写入文件。...x #x为指定行号;x,y #指定xy行号范围;/pattern/ #查询包含模式行;/pattern/pattern/ #查询包含两个模式行;/pattern/,x #与pattern匹配行...x号行之间行;x,/pattern/ #x号行与pattern匹配行之间行;x,y!...#查询不包括x和y行号行;r #另一个文件中读文件;w #将文本写入一个文件;y #变换字符;q #第一个模式匹配完成后退出;l #显示与八进制ASCII码等价控制字符; 常用SED工具企业演练案列...以字符test开头5或者3行;grep “^[^test]” jfedu.txt 显示输出行首不是test行;grep “[Mm]ay” jfedu.txt 匹配M或m开头行;grep “K

    2.1K21

    Shell基础 -- 入门篇

    供用户选择使用,它们大多数都是最初 Bourne shell(sh) 演变而来。...bash 是开源,基于 GNU,且符合 POSIX 标准,因此可以被移植几乎所有的类 UNIX 系统上,本文所使用 shell 也是 bash。...pdksh(public domain korn shell),是许多商业版本 UNIX 默认 shell bash(Bourne-Again shell)                                   ...四、如何编写一个 shell 脚本 4.1 先从最简单 shell 脚本说起   假如我想要使用 shell 脚本在终端打印一串字符:Hello world!...告诉系统同一行上紧跟在它后面的那个参数是用来执行本文件程序。在这里,这一句作用是告诉系统这个文件是一个 shell 脚本,默认 shell 是 /bin/bash。

    56120

    npm、npx说起,shell

    Shell收到用户输入命令,将命令送入操作系统执行,并将结果返回给用户 Shell 是一个命令解释器,解释用户输入命令。...分类 不同系统有不同shell Bourne Shell(sh) Bourne Again shell(bash) C Shell(csh) TENEX C Shell(tcsh) Korn shell...如果Command1命令运行失败,则继续运行Command2命令 命令 说明 echo 在屏幕输出一行文本,可以将该命令参数原样输出 -n:可以取消末尾回车符,使得下一个提示符紧跟在输出内容后面...Ctrl + C:中止当前正在执行命令。 Shift + PageUp:向上滚动。 Shift + PageDown:向下滚动。 Ctrl + U:光标位置删除行首。...Ctrl + K:光标位置删除行尾。 Ctrl + D:关闭 Shell 会话。 ↑,↓:浏览已执行命令历史记录。

    3.9K20

    Python入门入土-基础知识准备

    2.x3.x迁移经历了比较长时间,编程语言版本不兼容有时候会是个致命错误(例如Perl6),好在Python挺过来了。...变量名可以字母或下划线开头,但不能以数字开头,例如,可将变量命名为message_1,但不能将其命名为1_message。 变量名不能包含空格,但可使用下划线来分隔其中单词。...肯·汤普逊(Ken Thompson)以Multics上shell为范本实现第一个Unix壳层(Unix shell):Thompson shell。...AT&T贝尔实验室史蒂夫·伯恩在1977年实现了Bourne shell,或sh,它是Version 7 Unix默认Unix shell,替代执行文件同为shThompson shell。...shell(dash)’, ‘Bourne-Again shell(bash)’, ‘Korn shell(ksh)’, ‘Z shell(zsh)’, ‘C shell(csh)’, ‘TENEX

    71620

    linux(一)之linux简介

    关于这个给大家推荐一个网址,觉得要装逼可以点进去看一下:http://dwz.cn/6qU0LQ   1.4、为什么Unix/Linux能做服务器呢?      你如何选择系统?...输出设备包括显示器、打印机、磁带、硬盘等等。 三、软件环境   软件分为操作系统和应用软件      用户和为用户提供服务角度分为客户端和服务器端。 四、Unix、Linux操作系统 ?   ...          使用那些被释放空间可能来自一些很长时间没有什么操作程序,这些被释放空间被临时保存到Swap空间中,等到那些           程序要运行时,再从Swap中恢复保存数据内存中...为AT&T Unix编写Shell工具。       ...最早比较出名是Unix Shell       一个新版本是Bourne-Again Shell     2)Korn Shell (ksh)     3)C shell(csh)

    12.7K100

    培养这10个习惯,你就离UNIX高手更进一步了

    在上一篇基础上,这里是另外 10 个 UNIX 命令行命令、工具和技术,让你成为更高效 UNIX 命令行高手。...Korn Shell 对于 Korn Shell 用户,文件名补全功能取决于 EDITOR 变量值。如果 EDITOR 设置为 vi,那么您键入部分名称,然后按 Esc 键后跟反斜杠 () 字符。...重用以前参数 !$ 命令返回某个命令使用的上一个文件名参数。但如果某个命令使用多个文件名,而您只希望重用其中一个文件名,该如何做? !:1 操作符返回某个命令使用第一个文件名。...用 find 命令时附带 -size 参数。List 7 显示了如何使用 find 命令来查找大于 10MB 文件。注意,-size 参数以 KB 为单位计量大小。...最有效利用正则表达式 大量 UNIX 命令使用正则表达式作为参数技术角度而言,正则表达式是表示某种模式字符串(也就是说,由字母、数字和符号组成字符序列),用于定义零或更长字符串。

    94460

    培养这10个习惯,你就离UNIX高手更进一步了

    在上一篇基础上,这里是另外 10 个 UNIX 命令行命令、工具和技术,让你成为更高效 UNIX 命令行高手。...Korn Shell 对于 Korn Shell 用户,文件名补全功能取决于 EDITOR 变量值。如果 EDITOR 设置为 vi,那么您键入部分名称,然后按 Esc 键后跟反斜杠 () 字符。...重用以前参数 !$ 命令返回某个命令使用的上一个文件名参数。但如果某个命令使用多个文件名,而您只希望重用其中一个文件名,该如何做? !:1 操作符返回某个命令使用第一个文件名。...用 find 命令时附带 -size 参数。List 7 显示了如何使用 find 命令来查找大于 10MB 文件。注意,-size 参数以 KB 为单位计量大小。...最有效利用正则表达式 大量 UNIX 命令使用正则表达式作为参数技术角度而言,正则表达式是表示某种模式字符串(也就是说,由字母、数字和符号组成字符序列),用于定义零或更长字符串。

    78920

    Linux下shell简介(三) 原

    :表示命令参数,为依附在options后面的参数,或者是command参数;   中间以空格来区分,不论空几格shell都视为一格   指令太长时候,可以使用 \ 符号来【Enter】,使指令连续下一行...[root@Server ~]#cp doc/* /opt 表示将doc目录下所有文件(除去以“.”开头文件)拷贝/opt目录下。 (b)“?”...Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行,不需要编译,Shell程序脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中命令一行一行敲Shell提示符下执行...sh sh 由Steve Bourne开发,是Bourne Shell缩写,sh 是Unix 标准默认shell。...注意:bash是 Bourne Again Shell 缩写,是linux标准默认shell ,它基于Bourne shell,吸收了C shellKorn shell一些特性。

    1.4K30

    了解和学习基本Shell脚本和Linux文件系统疑难解答 - 第10部分

    它包含来自Korn shell(ksh)和C shell(csh)有用功能,同时提供了几个改进。 这是LFCS认证中涵盖发行版使用默认shell,它是我们将在本教程中使用shell。...sh壳 Bourne shell是最古老外壳,因此一直是许多类UNIX操作系统多年默认外壳。 ksh壳 在Korn shell是由大卫·科恩在贝尔实验室在80年代初开发Unix外壳。...它与Bourne shell向后兼容,并且包含C shell许多功能。 shell脚本不再是一个文本文件,它变成一个可执行程序,它组合由shell一个一个执行命令。...LIST填充有输出, # cat myservices.txt 2)上述命令是用括号括起来,并用一个美元符号开头,表明它进行评估,以填充,我们将遍历列表。...然后将输出通过管道传递grep。 该-quiet标志用于防止grep显示在屏幕上,其中运行出现线条。 当发生这种情况,上面的命令返回0退出状态(由$表示?

    72320

    awk 进阶使用案例

    ARGC 命令行参数数目。 ARGIND 命令行中当前文件位置(0开始算)。 ARGV 包含命令行参数数组。...gawk专用正则表达式元字符 一般通用元字符集就不讲了,可参考我Sed和Grep学习笔记。以下几个是gawk专用,不适合unix版本awk。 Y 匹配一个单词开头或者末尾空字符串。...B 匹配单词内空字符串。 < 匹配一个单词开头空字符串,锚定开始。 > 匹配一个单词末尾空字符串,锚定末尾。 w 匹配一个字母数字组成单词。 W 匹配一个非字母数字组成单词。...‘ 匹配字符串开头一个空字符串。 ' 匹配字符串末尾一个空字符串。 匹配操作符(~) 用来在记录或者域内匹配正则表达式。...match函数会设置内建变量RSTART为字符串中子字符串开始位置,RLENGTH为子字符串末尾字符个数。substr可利于这些变量来截取字符串。

    1.9K20
    领券