LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1051|回复: 5

跟“~”同一个键的“`”在命令中的作用

[复制链接]
发表于 2006-7-29 23:42:44 | 显示全部楼层 |阅读模式
SPECFILE=`gcc --print-file specs` &&
sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
$SPECFILE > tempspecfile &&
mv -f tempspecfile $SPECFILE &&
unset SPECFILE

命令行`gcc --print-file specs` 中的“`”并不是单引号“'”
请教各位“`”是什么意思,什么作用呢?????google不到!
注:“`”是跟“~”同一个键的!


:sleep
 楼主| 发表于 2006-7-29 23:56:16 | 显示全部楼层
Post by pingpz
SPECFILE=`gcc --print-file specs` &&
sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \
$SPECFILE > tempspecfile &&
mv -f tempspecfile $SPECFILE &&
unset SPECFILE

命令行`gcc --print-file specs` 中的“`”并不是单引号“'”
请教各位“`”是什么意思,什么作用呢?????google不到!
注:“`”是跟“~”同一个键的!


:sleep


1.  “`”好像有点明白了,是不是把里面的内容作为命令执行呢?
2.  's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' 还有这句替换的语句为何跟sed 的用法及VIM的替换命令不一样呢?
比如在VIM我们会s/old/new/g
回复 支持 反对

使用道具 举报

发表于 2006-7-30 03:55:57 | 显示全部楼层
你执行下面的命令:
  1. cd /lib/modules/`uname -r`
复制代码

然后pwd看看你在现在在哪里。
回复 支持 反对

使用道具 举报

发表于 2006-7-30 09:39:59 | 显示全部楼层
`xxx`表示执行xxx命令后的结果(标准输出)

也可以写成${xxx}
回复 支持 反对

使用道具 举报

发表于 2006-7-30 10:52:36 | 显示全部楼层
关于那个@的用法,我以前看书的时候,也没有发现,也是在做LFS的时候,发现的。测试了一下:
  1. wangyao@fisherman:~$ cat file
  2. /home/wangyao
  3. wangyao@fisherman:~$ sed 's@/home/wangyao@/home/wangyao/bin@' file
  4. /home/wangyao/bin
  5. wangyao@fisherman:~$ sed 's/\/home\/wangyao/\/home\/wangyao\/bin/' file
  6. /home/wangyao/bin
复制代码
使用@符号,就可以不用解析匹配项的元符号了。
  1. wangyao@fisherman:~$ sed 's@home\/wangyao@/home/wangyao/bin@' file
  2. //home/wangyao/bin
  3. wangyao@fisherman:~$ sed 's@\/home\/wangyao@/home/wangyao/bin@' file
  4. /home/wangyao/bin
  5. wangyao@fisherman:~$ sed 's@\/home\/wangyao@\/home/wangyao/bin@' file
  6. /home/wangyao/bin
复制代码
使用@后,转义/为\/跟不转义的效果是一样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-30 11:17:51 | 显示全部楼层
明白!谢谢大家
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表