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>- 显示 <script>
 
- 显示 
- source <script>- 显示 -bash
- ????
 
 
- 显示 -bash
 
ps
- ref - 学习 bash
- Shell 传递参数
- Linux获取最后一个参数(参数统计)
 
- 疑问 - 获取脚本名称如果这么不稳定, 那是否有 稳定的方法 呢?
 
- 后续尝试下 获取 选项 
Linux - Shell - 参数获取的更多相关文章
- Linux Shell参数替换
		Linux Shell参数替换 2013-06-03 10:01 by 轩脉刃, 1816 阅读, 0 评论, 收藏, 编辑 Bash中的符号的作用是参数替换,将参数名替换为参数所代表的值.对于 来说 ... 
- linux shell中获取mongodb最大连接数、内存使用情况等
		前两天接到了一个新的需求,需要在linux shell脚本中监控到mongodb最大连接数.内存使用情况等. 但是我对于linux shel很不了解,只是会一些简单常用的linux的操作而已,只要一顿 ... 
- 模块 sys shell参数获取
		sys 参数获取 获取参数 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ... 
- Linux Shell 如何获取参数
		$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ... 
- Linux Shell参数扩展(Parameter Expansion)
		Shell Command Language在线文档: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html ... 
- linux shell 脚本获取和替换文件中特定内容
		1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ... 
- linux shell 命令获取字符串/文件的MD5值
		获取字符串的MD5值: 字符串“hello”的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d9 ... 
- linux shell脚本常用语句
		linux shell 指令 诸如-d, -f, -e之类的判断表达式: 文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d ... 
- linux在shell  date获取时间的相关操作
		获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ... 
随机推荐
- LeetCode 面试题 02.06. 回文链表
			题目链接:https://leetcode-cn.com/problems/palindrome-linked-list-lcci/ 编写一个函数,检查输入的链表是否是回文的. 示例 1: 输入: 1 ... 
- kettle文本文件写入数据库,简单进行数据清洗
			使用kettle7.0,java8.0,Navicat,实验数据使用全国肺炎2月24日的数据 1.建立关系 2.创建连接 如果是第一次连接,可能会出现连接不上的情况,这时候可能情况是没有将Mysql的 ... 
- es5和es6中如何处理不确定参数
			场景:求出不定参数的总数和 //利用arguments function sum () { let num = 0 //Array.prototype.forEach.call(arguments,f ... 
- Android实战项目——家庭记账本(一)
			今天是家庭记账本APP开发的第一天,主要是做了一部分UI设计,不得不说,虽然web开发和Android开发有很多相似的地方,但是一个Android APP是很难三个小时开发完成的. 通过今天的学习与开 ... 
- c#日期时间段判断
			select * from 表名 where (case when ISDATE(字段名)=1 then CONVERT(varchar(100),cast(字段名 as datetime),23) ... 
- 【读书笔记】自然语言处理综述 -- 第四章 -- N元语法
			第四章 N元语法 本章开篇的两句话很有意思,代表了当时两个学派的思想和矛盾. 一句是"有史以来最伟大的语言学家"乔姆斯基说的:"句子的概率,在任何已知的对于这个术语的解释 ... 
- java如何在静态方法中访问类的实例成员
			类的静态方法是不能直接访问实例的成员的,它只能访问同类的静态成员.访问实例的成员的话,可以参考一下这个方法,那就是把静态方法的参数设置为类的实例,这样通过参数传递的方式就可以访问实例的成员了,例子如下 ... 
- BZOJ 4247: 挂饰 动态规划
			按照挂件数量排序,然后做一个 DP 就好了. code: #include <bits/stdc++.h> #define ll long long #define N 2003 #def ... 
- opencv图像加文字与运行时间
			//获取推断时间 vector<double>layterTimings; double freq = getTickFrequency() / 1000; //得到ms double t ... 
- 牛客寒假6-F十字阵列
			链接:https://ac.nowcoder.com/acm/problem/201986来源:牛客网 题目描述 小 Q 新学会了一种魔法,可以对一个 N行M列 的网格上的敌人造成伤害 第 i 次使用 ... 
