码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • shell_42.Linux移动参数


    移动参数
    bash shell 工具箱中的另一件工具是 shift 命令,该命令可用于操作命令行参数。跟字面上的意思一样,shift 命令会根据命令行参数的相对位置进行移动。
    在使用 shift 命令时,默认情况下会将每个位置的变量值都向左移动一个位置。因此,变量$3 的值会移入$2,变量$2 的值会移入$1,而变量$1 的值则会被删除。
    注意:变量$0 的值,也就是脚本名,不会改变
    例:

    1. $ cat shiftparams.sh
    2. #!/bin/bash
    3. # Shifting through the parameters
    4. #
    5. echo
    6. echo "Using the shift method:"
    7. count=1
    8. while [ -n "$1" ]
    9. do
    10.     echo "Parameter #$count = $1"
    11.     count=$[ $count + 1 ]
    12.     shift
    13. done
    14. echo
    15. exit 
    16. $ 
    17. $ ./shiftparams.sh alpha bravo charlie delta 
    18. Using the shift method: 
    19. Parameter #1 = alpha 
    20. Parameter #2 = bravo 
    21. Parameter #3 = charlie 
    22. Parameter #4 = delta 
    23. $

    也可以一次性移动多个位置。只需给 shift 命令提供一个参数,指明要移动的位置数即可:

    1. $ cat bigshiftparams.sh 
    2. #!/bin/bash 
    3. # Shifting multiple positions through the parameters 
    4. # 
    5. echo 
    6. echo "The original parameters: $*" 
    7. echo "Now shifting 2..." 
    8. shift 2 
    9. echo "Here's the new first parameter: $1" 
    10. echo 
    11. exit 
    12. $ 
    13. $ ./bigshiftparams.sh alpha bravo charlie delta 
    14. The original parameters: alpha bravo charlie delta 
    15. Now shifting 2... 
    16. Here's the new first parameter: charlie'
    17. $


     

  • 相关阅读:
    yaf常用开发工具:代码格式化&修复、语法检查、单元测试 —— k8s从入门到高并发系列教程 (五)
    【微服务 SpringCloudAlibaba】实用篇 · Nacos注册中心
    浅谈 RxJS: lodash for async、流式任务模型、函数式与响应式的结合
    2652. 倍数求和
    如何在.NET程序崩溃时自动创建Dump?
    第六章:最新版零基础学习 PYTHON 教程—Python 正则表达式(第二节 - Python 中的正则表达式与示例套装)
    three.js问题记录---MeshLambertMaterial材质颜色失效
    OLTP和OLAP有什么区别和不同?
    【Learning eBPF-2】eBPF 的“Hello world”
    【Vue】 toRef以及context参数(1)
  • 原文地址:https://blog.csdn.net/mmmmm168m/article/details/134000329
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号