Linux - Shell - 参数获取
Posted 轩辕拾銉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux - Shell - 参数获取相关的知识,希望对你有一定的参考价值。
- 概述
- 参数
- 背景
- 复习一下 shell 脚本的参数获取
- 场景
- os
- centos7
- os
1. 参数: 基础
- 概述
- 简单描述 参数
1. 获取参数
获取 第一个 参数
- 获取参数
- 使用 ${num} 获取参数
- ${1} 获取 第一个参数
代码
#!/bin/bash var1=${1} echo ${var1}
- 其他
- 可以尝试 ${2}, ${3} 等获取后续参数
- 默认情况下, 如果参数不足, echo 不会报错, 其他命令, 需要验证
- 获取参数
2. 获取多个参数
- 问题1: 获取多个参数
- 一个一个获取参数, 如果参数多了, 会不会很麻烦
- 解决
- 可以一次获得 所有参数
- 方案1:
$*
$*
- 一次获取所有参数
代码
#!/bin/bash var1=$* echo ${var1}
- 问题2: 我分开去参数
- 所有参数
- $* 获取到的参数, 是所有参数排在一起的
- 需要
- 我想单独获得 某个参数
- 解决
- 思路1: 你知道要找 第几个 参数
- 使用 ${num}
- 思路2: 什么? 你不知道是第几个, 但是你就知道要 什么样的参数
- 转化为 数组
- 暂时不推荐
- 转化数组, 我还不会
- 转化后的数组, 不知道 元素下标的话, 需要循环, 数组的操作, 我还是不会
- 暂时不推荐
- 转化为 数组
- 思路3: 使用 $@
- 思路1: 你知道要找 第几个 参数
- 所有参数
- 方案2:
$@
- 所有参数
- 多在 循环时 使用
代码
#!/bin/bash for word in "$@" do echo ${word} done
- 所有参数
3. 获取最后一个参数
- 问题: 最后一个参数
- 最后一个
- 我就想获得 最后一个参数
- 最后一个
解决
#!/bin/bash # 假设参数是 1 2 3 # 最后一个参数, ${3} var1=${#} echo $var1 echo ${!var1} # 倒数 第二个参数, ${2} var2=$[${#}-1] echo $var2 echo ${!var2}
- 问题: 手滑没加参数
- 问题
- 忽然手滑, 没有加参数
- 结果
- 第一段直接打印出了 脚本名
- 问题
4. 获取脚本名
- 脚本名
- ${0}
- 打印 ${0} 即可看到
- ${0}
- 问题
./<script>
- 显示
./<script>
- 显示
bash <script>
- 显示
source <script>
- 显示 -bash
- ????
- 显示 -bash
ps
- ref
- 学习 bash
- Shell 传递参数
- Linux获取最后一个参数(参数统计)
- 疑问
- 获取脚本名称如果这么不稳定, 那是否有 稳定的方法 呢?
- 后续尝试下 获取 选项
以上是关于Linux - Shell - 参数获取的主要内容,如果未能解决你的问题,请参考以下文章