命令行参数

linux中shell变量#,@, 0, 1,$2的含义解释

http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html

linux中shell变量$#,$@,$0,$1,$2的含义解释

摘抄自:ABS_GUIDE

下载地址:http://www.tldp.org/LDP/abs/abs-guide.pdf

linux中shell变量$#,$@,$0,$1,$2的含义解释: 
变量说明: 
$$ 
Shell本身的PID(ProcessID) 
$! 
Shell最后运行的后台Process的PID 
$? 
最后运行的命令的结束代码(返回值) 
$- 
使用Set命令设定的Flag一览 
$* 
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2$n"的形式输出所有参数。 
$@ 
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2""$n" 的形式输出所有参数。 
$# 
添加到Shell的参数个数 
$0 
Shell本身的文件名 
$1$n 
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 
示例:

1 #!/bin/bash
 2 #
 3 printf "The complete list is %s\n" "$$"
 4 printf "The complete list is %s\n" "$!"
 5 printf "The complete list is %s\n" "$?"
 6 printf "The complete list is %s\n" "$*"
 7 printf "The complete list is %s\n" "$@"
 8 printf "The complete list is %s\n" "$#"
 9 printf "The complete list is %s\n" "$0"
10 printf "The complete list is %s\n" "$1"
11 printf "The complete list is %s\n" "$2
结果:

[Aric@localhost ~]$ bash params.sh 123456 QQ
The complete list is 24249
The complete list is
The complete list is 0
The complete list is 123456 QQ
The complete list is 123456
The complete list is QQ
The complete list is 2
The complete list is params.sh
The complete list is 123456
The complete list is QQ
Have a nice day!!!

windows中cmd批处理参数

http://www.cnblogs.com/top5/archive/2011/06/24/2089183.html

可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息。
Cmd.exe 提供批处理参数扩展变量(%0%9)。当在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1%9 将由在命令行键入的相应参数替换。要访问超出 %9 的参数,必须使用 shift 命令。有关 shift 命令的详细信息,请参阅 Shift。%* 批处理参数是传递到批处理文件中的所有参数(不包括 %0)的通配符引用。
例如,要将 Folder1 中的内容复制到 Folder2,其中 %1%2 将分别由值 Folder1 和 Folder2 替换,请在批处理文件 Mybatch.bat 中键入如下内容:
xcopy %1\*.* %2
要运行该文件,请键入:
mybatch.bat C:\folder1 D:\folder2
这与在批处理文件中键入如下内容是等效的:
xcopy C:\folder1 \*.* D:\folder2
也可以在批处理参数中使用编辑符。编辑符使用当前的驱动器和目录信息将批处理参数作为部分或完整的文件或目录名进行扩展。要使用编辑符,请键入百分号 (%) 字符,后面是波形符号 (~) 字符,然后键入合适的编辑符(即 %~modifier)。
下表列出了可在扩展中使用的编辑符。
编辑符
描述
%~1
扩展 %1 并删除任何外围引号 ("")。
%~f1
将 %1 扩展到完全合格的路径名。
%~d1
将 %1 扩展到驱动器盘符。
%~p1
将 %1 扩展到路径。
%~n1
将 %1 扩展到文件名。
%~x1
将 %1 扩展到文件扩展名。
%~s1
扩展的路径仅包含短名称。
%~a1
将 %1 扩展到文件属性。
%~t1
将 %1 扩展到文件日期/时间。
%~z1
将 %1 扩展到文件大小。
%~$PATH:1
搜索 PATH 环境变量中列出的目录,并将 %1 扩展到第一个找到的目录的完全合格名称。如果没有定义环境变量名称,或没有找到文件,则此编辑符扩展成空字符串。
下表列出了可用于获取复合结果的编辑符和限定符的可能组合情况:
编辑符
描述
%~dp1
将 %1 扩展到驱动器盘符和路径。
%~nx1
将 %1 扩展到文件名和扩展名。
%~dp$PATH:1
在 PATH 环境变量列出的目录中搜索 %1,并扩展到第一个找到的目录的驱动器盘符和路径。
%~ftza1
将 %1 扩展到类似 dir 的输出行。
注意
在上面的例子中,可以使用其他批处理参数值替换 %1 和 PATH。
%* 编辑符是唯一可代表在批处理文件中传递的所有参数的编辑符。不能将该编辑符与 %~ 编辑符组合使用。%~ 语法必须通过有效的参数值来终止。
不能以与使用环境变量相同的方式使用批处理参数。不能搜索和替换值,或检查子字符串。然而,可以将参数分配给环境变量,然后对该环境变量进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值