[问题]$有哪些用法?

sh/bash/dash/ksh/zsh等Shell脚本
回复
novesky
帖子: 159
注册时间: 2008-07-12 17:18

[问题]$有哪些用法?

#1

帖子 novesky » 2008-08-02 10:59

$好像到处都有,我只知道表示取值的,但是$0,$1,$2是什么意思?还有哪些用法呢?
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#2

帖子 xiooli » 2008-08-02 11:10

$们

$ 在正则表达式中作为行结束符.
${} 参数替换,见 9.3 节.
$*,$@ 位置参数
$? 退出状态变量.$?保存一个命令/一个函数或者脚本本身的退出状态.
$$ 进程 ID 变量.这个$$变量保存运行脚本进程 ID
$# 参数个数
$0 运行程序本身的文件名
${!#} 最后一个参数
${#str} 字符串长度
${var/Pattern/Replacement}
使用 Replacement 来替换 var 中的第一个 Pattern 的匹配.
${var//Pattern/Replacement}
全局替换.在 var 中所有的匹配,都会用 Replacement 来替换.
${var/#Pattern/Replacement}
如果 var 的前缀匹配到了 Pattern,那么就用 Replacement 来替换 Pattern.
${var/%Pattern/Replacement}
如果 var 的后缀匹配到了 Pattern,那么就用 Replacement 来替换 Pattern.
${!varprefix*}, ${!varprefix@}
使用变量的前缀来匹配前边所有声明过的变量.
$RANDOM
$RANDOM 是 Bash 的内部函数(并不是常量),这个函数将返回一个范围在 0 - 32767 之间的一个伪随机整数
${x:-"$default_arg"}
参数替代,如果$x为空,则替代为$default_arg
lujinke
帖子: 81
注册时间: 2007-07-20 10:12

Re: [问题]$有哪些用法?

#3

帖子 lujinke » 2008-08-02 12:12

在gawk命令中$0,表示本行,$1,$2分别表示第一个域和第二个域
novesky 写了:$好像到处都有,我只知道表示取值的,但是$0,$1,$2是什么意思?还有哪些用法呢?
southflow
帖子: 3
注册时间: 2008-07-15 17:09

Re: [问题]$有哪些用法?

#4

帖子 southflow » 2008-08-02 14:00

novesky 写了:$好像到处都有,我只知道表示取值的,但是$0,$1,$2是什么意思?还有哪些用法呢?
命令行参数$0,$1,$2,$3,...,$9是位置参数,$0指向实际的命令,程序,shell脚本或函数,$1,$2,$3,...,$9作为命令行参数。
回复