1.Shell特殊位置变量
$0 文件名及路径
$1,$2 参数1,参数2 , 也可以用${1} 和 ${2} 来表示
$# 传递给脚本或函数的参数个数
$$ 当前Shell进程ID
$? 判断上个命令的执行成功与否,0为成功。
$@ 传递脚本或函数的所有参数
$* 传递脚本或函数的所有参数
${}
注:
1.$@和$*都是传递脚本或函数的所有参数。被双引号" "包含时,两者有区别如下
[root@web01 shell]# cat 007.sh
#!/bin/bash
for var in “$@” # 参数当做列表传给$@
do
echo "$var"
done
[root@web01 shell]# sh 007.sh feng cx xiao
feng
cx
xiao
[root@web01 shell]# cat 007.sh
#!/bin/bash
for var in "$*" # 参数当做字符串传给$*
do
echo "$var"
done
[root@web01 shell]# sh 007.sh feng cx xiao
feng cx xiao
2.$var和${var}区别
如:当你要显示变量值加随意的字符时
echo $var_AA $var会将后面的_AA也当做变量的一部分
echo ${var}_AA ${var}不会将后面的_AA当作变量的一部分
3.${@:2} 在shell脚本中代表什么意思
示例:
#!/bin/bash
echo ${@:2}
variable=${@:3}
echo $variable
运行
./ex.bash 1 2 3 4 5
2 3 4 5
3 4 5
获取指定位置之后的参数列表(例如ip列表),可以用来进行for循环。
1.Shell特殊位置变量的更多相关文章
- Linux Shell 05 位置变量(命令行参数)
在Linux shell 脚本中可能会用到一些命令行参数,常见如下: $0:脚本名称 $#:执行脚本时传入的参数个数,不包括脚本名称 $@:所有参数 $*:所有参数 $1...$9:第1个参数.... ...
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量 env:环境变量 常用系统变量: path pwd lang home his ...
- Shell环境变量与特殊变量详解
1)变量类型 1)变量可分为俩类:环境变量(全局变量),和普通变量(局部变量), 环境变量也称为全局变量,可以在创建他们的Shell及其派生出来的任意子进程Shell中使用,环境变量又可以分为自定义环 ...
- 模块一:shell 脚本基础
一.shell脚本介绍 (一)脚本案例及介绍: #!/bin/bash LOG_DIR=/var/log ROOT_UID=0 if ["$UID -ne "$ROOT_UID&q ...
- 10_Linux基础-SHELL入门1
@ 目录 10_Linux基础-SHELL入门1 一. 输入输出重定向 二. 2个特殊文件 三. here document 四. tee命令 五. 清空文件内容 六. SHELL入门 SHELL的变 ...
- linux shell 中的位置变量
对于linux shell 中的位置变量,我一直以来都是吐不出来又咽不下去,每次看到都不懂,不懂了就去百度google,看完了又忘,真是慢性咽炎啊.现在认真想想也是,其实自己一直以来都没有好好学习过, ...
- Shell 变量详解教程之位置变量与预定义变量。
Shell 变量分为3部分,分别是用户自定义变量.位置变量和预定义变量. 一. 自定义变量 那么,什么是变量呢?简单的说,就是让某一个特定字符串代表不固定的内容,用户定义的变量是最普通的Shell ...
- 小鸟初学Shell编程(八)环境变量、预定义变量与位置变量
环境变量 环境变量:每个Shell打开都可以获得到的变量. 我们知道通过export的方式打开可以让子进程读取父进程的变量的值,那怎么样才能让每一个进程都能读取到变量的值呢? 在这呢,系统有一些默认的 ...
- Linux shell case条件判断及位置变量
case语句使用于需要进行多重分支的应用情况 case分支判断结构 语法: case 变量名称 in value1) statement statemen ...
随机推荐
- c# list集合简单快捷取随机
C#怎么在list集合中随机取出一个值: 首先我们取出这个List列表 然后生成随机数 最后通过这个随机数当作索引实现 var list = studentlist.OrderBy(a => a ...
- [原创]python+beautifulsoup爬取整个网站的仓库列表与仓库详情
from bs4 import BeautifulSoup import requests import os def getdepotdetailcontent(title,url):#爬取每个仓库 ...
- js 落幕
1.关于路由的跳转 核心是 a 再取出后缀作为参数判断 最后 innerHTML 上 <!DOCTYPE html> <html lang="en"> &l ...
- 怎么删掉xampp文件夹
删掉xampp文件夹时,提示:操作无法完成,因为其中的文件夹或文件已在另一程序中打开 具体的解决方法: 菜单栏输入:服务 找到apachezt和mysqlzt,并禁用 -- 因为之前打开Zent ...
- socket缓冲区以及阻塞模式(七)
一.socket缓冲区 每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区. 以下用write()/send()表示写数据/发送数据,read()/recv() 表示读数据/接收 ...
- selenium 简介 及浏览器配置
简介: Selenium是一款基于web应用程序的开源测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.Selenium是一个自动化的web应用功能测试工具. Seleniu ...
- static inline和inline的区别——stm32实测
参考:http://armbbs.cn/forum.php?mod=viewthread&tid=95190&extra=page%3D1 对于内联函数,不能像普通函数那样,直接在.h ...
- electron 创建托盘应用
在Electron中我们创建一个托盘需要如下几个文件: 1. main.js 用来存放应用代码.2. 一张PNG格式的图片用作应用图标.3. 一个package.json文件用来描述应用配置. 下面是 ...
- ibus mozc 日文输入法
1)安装: a) https://qiita.com/TANATY/items/8c0c17d54ab81fd1b491 b) ibus-setup 2)使用: open a console, ...
- 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用
准备 JDK (配置JDK_HOME\bin 和 CLASSPATH) 注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本) 对于我们新手来说,JD ...