`

shift 在shell while 循环中的使用 偏移

阅读更多

向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是shift命令的功能

shift在何时使用:
$pg test.sh
#!/bin/sh

while [ $# -ne 0 ]
do
echo $1
done

$sh test.sh arg1 arg2 arg3

不使用shift,就没有办法偏移到脚本中下一个参数,将只会反馈出第一个参数。


$pg test2.sh
#!/bin/sh
while [ $# -ne 0 ]
do
echo $1
shift
done

如何把一个文件的每一行当作参数传给test2.sh??

 

 

使用$ ?检验返回状态,可知脚本有错误,但同时发现c p:c a n n o t . . .,因此检验最后退出状
态已没有必要。在脚本中可以用系统命令处理输出格式,要求命令输出不显示在屏幕上。为
此可以将输出重定向到/ d e v / n u l l,即系统b i n中。

分享到:
评论

相关推荐

    SHELL脚本练习 写一个脚本,利用循环计算10的阶乘

    这个脚本使用了while循环和shift命令来实现参数处理和计算的功能。 5. 解压缩tar.gz或tar.bz2文件 在这个练习中,我们将编写一个SHELL脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件...

    DO-WHILE循环语句的翻译程序设计(LR方法、输出三地址表示)

    在提供的压缩包文件中,`do_while.txt`可能是描述DO-WHILE循环翻译过程的文本文件,而`.cpp`, `.dsp`, `.dsw`, `.ncb`, `.opt`, `.plg`等文件通常是C++开发环境中产生的工程或配置文件,可能包含了实现DO-WHILE循环...

    while_shift_Register.vi_labview_

    在"while_shift_Register.vi"这个实例中,我们可以看到一个典型的While循环结构。循环开始时,初始数据被加载到移位寄存器中。每次循环时,数据会根据预设的移位方向(左移或右移)进行位移。如果选择左移,最左边的...

    基于LR方法的WHILE循环语句的编译系统前端设计(输出四元式)

    基于LR方法的WHILE循环语句的编译系统前端设计,主要关注于如何解析和转换高级语言中的控制结构,特别是WHILE循环语句,到中间表示形式,如四元式,以便后续的优化和目标代码生成阶段处理。下面将详细阐述这一过程的...

    shell 编程指南pdf

    14.4.1 在脚本中使用位置参数 142 14.4.2 向系统命令传递参数 142 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 ...

    Linux与unix shell编程指南

    19.6 在shell中使用函数 204 19.7 创建函数文件 204 19.8 定位文件 205 19.9 检查载入函数 205 19.10 执行shell函数 205 19.10.1 删除shell函数 206 19.10.2 编辑shell函数 206 19.10.3 函数举例 207 19.10.4 将函数...

    LINUX与UNIX SHELL编程指南(很全)

    14.4.1 在脚本中使用位置参数 142 14.4.2 向系统命令传递参数 142 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 ...

    【IT十八掌徐培成】Linux第02天-05.if-for-while-参数处理-shell编程.zip

    【IT十八掌徐培成】Linux第02天-05.if-for-while-参数处理-shell编程.zip 这个压缩包文件聚焦于Linux系统中的Shell编程,主要涵盖了三个方面:if语句、for循环、while循环以及参数处理。这些是Shell脚本编程的基础,...

    LINUX与UNIX SHELL编程指南 高清PDF

    14.4.1 在脚本中使用位置参数 142 14.4.2 向系统命令传递参数 142 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 ...

    绝版经典《Linux与UNIX Shell编程指南》

    19.6 在shell中使用函数 204 19.7 创建函数文件 204 19.8 定位文件 205 19.9 检查载入函数 205 19.10 执行shell函数 205 19.10.1 删除shell函数 206 19.10.2 编辑shell函数 206 19.10.3 函数举例 207 19.10.4 将函数...

    在 Matlab 中执行均值偏移 (MS) 算法的快速原型设计。将 MS 程序应用于灰度测试图像并在特征空间中生成均值偏移的收敛

    这个过程在主循环中不断进行,直到满足停止条件(如达到最大迭代次数或数据点移动距离小于某个阈值)。 3. **应用在灰度图像上**: 对于灰度图像,每个像素点可以视为一个一维数据点,图像的像素强度分布可以看作...

    shell脚本基础入门 详细介绍完整版

    3. **通配符**:在Shell中,`*`用于匹配零个或多个字符,`?`用于匹配一个字符。 4. **输入/输出重定向**:使用`>`将输出重定向到文件,如果文件存在则覆盖;使用`>>`将输出追加到文件末尾。 5. **管道**:使用`|`将...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    14.4.1 在脚本中使用位置参数 142 14.4.2 向系统命令传递参数 142 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 ...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    14.4.1 在脚本中使用位置参数 142 14.4.2 向系统命令传递参数 142 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 ...

    shift妙用之解决shell编程中的入参问题

    总的来说,`shift`命令在处理Shell脚本中的不定参数时非常实用,它允许你灵活地遍历和处理任何数量的参数,而不仅仅是固定的几个。结合`$#`和`$@`等特殊变量,你可以编写出能够处理各种复杂情况的Shell脚本。在实际...

    基于MeanShift_cpp、MeanShift_py的均值偏移的纯javascript简单实现.zip

    2. **构建高斯窗口**:MeanShift算法使用高斯核函数作为窗口,该窗口在数据空间中滑动,评估数据点周围的密度。窗口大小通常由用户指定,影响算法的聚类精度和计算效率。 3. **计算密度梯度**:对于每个数据点,...

    linux shell 编程教程

    14.4.1 在脚本中使用位置参数 142 14.4.2 向系统命令传递参数 142 14.4.3 特定变量参数 143 14.4.4 最后的退出状态 144 14.5 小结 145 第15章 引号 146 15.1 引用必要性 146 15.2 双引号 146 15.3 单引号 147 15.4 ...

Global site tag (gtag.js) - Google Analytics