Shell编程中的特殊变量之位置变量介绍_linux shell

1、$0 获得当前脚本的文件名,包括路径。

复制代码 代码如下:

#写一个测试脚本
vim test.sh
#内容如下
dirname$0
basename$0
#执行一下
bash$(pwd)/test.sh
#输出如下
/home/jane
test.sh

2、$n 获取当前执行脚本的第n个参数,n=1..9,$0,为当前脚本名。如果n大于9,使用${10}

复制代码 代码如下:

echo'echo '$(seq-s " $"1 5|sed's/1/$1/') > test_n.sh
cattest_n.sh
#内容如下
#echo $1 $2 $3 $4 $5
bashtest_n.sh arg1 agr2 arg3
#输出内容:
#arg1 agr2 arg3

3、$* 获取脚本所有参数

复制代码 代码如下:

echo'echo $*'>test_*.sh
cattest_*.sh
#内容如下:
#echo $*
bashtest_*.sh 1 2 3
#输出:
#1 2 3

4、$# 获得脚本所有参数的个数

复制代码 代码如下:

echo'echo $#'>test_j.sh
cattest_j.sh
#内容如下:
#echo $#
bashtest_j.sh 1 2 3
#输出:
#3

时间: 2024-10-28 03:57:26

Shell编程中的特殊变量之位置变量介绍_linux shell的相关文章

Shell脚本中判断输入参数个数的方法_linux shell

$#代表了命令行的参数数量,可以看以下实例: 复制代码 代码如下: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne    不等于 ----------------------- shell 编程中使用到得if语句内判断参数 –b 当

在 Shell 提示符中显示 Git 分支名称的方法_linux shell

Git 的好处之一就是把代码的分支管理变成了一件极其便捷的事情,分支只保留差异,不用复制任何文件,不用连接网络,快速创建,用完即删.Git 分支与项目的复杂程度无关,不管你的项目多么复杂,创建 Git 分支永远都是瞬间的事情.同时,因为保留了父类分支的信息,所以分支的合并也变得异常简单. 当在一个项目中频繁使用多个分支时,可以使用 git status 命令查询自己现在正工作在哪个分支下面,不过难免有脑子发昏的时候,忘记自己在哪个分支下面,因而发生误操作之类的杯具. 那么把分支显示在 Shell

Shell编程中的特殊变量之进程状态变量介绍_linux shell

进程状态变量 1.$$获取当前shell的进程号(PID) 2.$!执行上一个指令的PID 3.$?获取执行上一个命令的返回值(0为成功,非零为失败,这个很常用) 4.$_在此之前执行的命令或脚本的最后一个参数 复制代码 代码如下: cat> test$.sh echo'$$='$$ echo'$!='$! echo'$?='$? echo'$@='$@ echo'$_='$_ #输出如下 sh test\$.sh 1 2 3 $$=2556 $!= $?=0 $@=1 2 3 $*和$@的区别

Shell 编程:Bash空格的那点事_linux shell

先了解下bash中什么时候该用空格,什么时候不该用. 1. 等号赋值两边不能有空格 2. 命令与选项之间需要空格 3. 管道两边空格可有可无 我们来看看常见的问题 1. 赋值时等号两边或者只有左边多了空格 igi@gentoo ~ $ var1 = test bash: var1: command not found igi@gentoo ~ $ echo ${var1:?error} bash: var1: error igi@gentoo ~ $ echo ${var1?error} bas

Shell脚本中使用function(函数)示例_linux shell

函数可以在shell script当中做一个类似自定义执行命令,最大的功能就是可以简化我们很多的程序代码.需要注意的是shell script的执行方式是由上而下/由左而右,因此在shellscript当中的function的设置一定要在程序的最前面,这样才能够在执行时被找到可用的程序段. 复制代码 代码如下: #!/bin/bash # Program #    This program is to show the use of "function" # History # 201

Linux下Shell脚本中几种基本命令的替换区别_linux shell

Part 1 : ` command ` 这是 "命令标准输出作为函数标准输入" 操作方法之一,有很大的弊端以及不安全的地方. 缺点一:比较陈旧. 缺点二:容易与单引号混淆.(其实它是你键盘"!"左边那个键) Part 1.5 ` command``与 $(command) 俩者区别 直接看几张图吧,看这图解释他们区别... 大家可以看到俩种表达方式,分别是代表命令直接执行和嵌套执行. 我们发现:执行`` 和 $() 是相同的. 附,其实这里有个小bug...( 橙

shell查找符号链接及其指向目标的方法介绍_linux shell

在类unix系统中,符号链接是很常见的,我们会碰到各种与符号链接相关的处理工作.本文为大家介绍一些处理符号链接的实践方法,希望对大家编写shell脚本时带来一些帮助,有需要的朋友不妨参考下. 1.符号链接可以看作是指向其它文件的指针.它在功能上类似于Mac OS中的别名或windows中的快捷方式,记住是类似,而非就是哦.2.删除符号链接不会影响到原始的文件. 创建符号链接:$ ln -s target symbolic_link_name 例如:$ ln -s /var/www/ ~/web这

脚本-shell编程中随机产生数组里一个变量的代码怎么写?

问题描述 shell编程中随机产生数组里一个变量的代码怎么写? 想写一个与随机抽取有关的脚本,从定义在数组里面的变量抽取,,初学shell编程很多细节不太会,朋友教教我 解决方案 function random() { min=$1; max=$2-$1; num=$(date +%s+%N); echo(num%max+min); } 假设数组长n,先使用random 0 n获得一个随机数a,然后数组[a]就是随机抽的变量 解决方案二: 可以给我讲解下不?不太看得懂,基础太差了

Shell编程中Shift的用法

http://www.cnblogs.com/image-eye/archive/2011/08/20/2147153.html 前一个例子看明白了,后面还没看清楚 Shell编程中Shift的用法 位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常有用的 Unix 命令:shift.我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当