LinuxSir.cn,穿越时空的Linuxsir!

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

新来的有个情况不明白。

[复制链接]
发表于 2005-5-19 15:02:24 | 显示全部楼层 |阅读模式
翻精华帖的时候看到一些奇怪的现象,就是有些命令中有带问号,有些则没有,这个问号是命令当中的还是怀疑写法问题的?

例如:
在U盘使用手册中看到这一命令
⑶用命令
fdisk -l /dev/sd??
查看优盘挂在系统的哪个设备上(sda? sda1? sda2?.......)
用命令
mount -t vfat /dev/sd?? /mnt/usbHD

卸载用:
umount /dev/sd??

像这些所使用的问号是什么意思呢?麻烦能告知一下,免得学习的过程中出问题,谢谢
发表于 2005-5-19 15:25:22 | 显示全部楼层
在shell来说,?是通配符,表示任意一个字符
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-19 15:42:36 | 显示全部楼层
就这个问题来说,发帖者是想说明问号所处的位置是一个根据具体的情况来决定的字符?
比如我的U盘是被认到是sda1,则 mount -t vfat /dev/sda1 /mnt/usbHD 中红色部份就是问号所要填写的?还是说直接写“?”,shell自身就会去匹配a1或a2这样的字符?
那*这类的通配符适用?

PS:由于现在操作的机器是WIN的,无linux环境,无法测试,所以只好问些比较低级问题,打扰了
回复 支持 反对

使用道具 举报

发表于 2005-5-22 13:15:35 | 显示全部楼层
Post by jeanbi
就这个问题来说,发帖者是想说明问号所处的位置是一个根据具体的情况来决定的字符?
比如我的U盘是被认到是sda1,则 mount -t vfat /dev/sda1 /mnt/usbHD 中红色部份就是问号所要填写的?还是说直接写“?”,shell自身就会去匹配a1或a2这样的字符?
那*这类的通配符适用?

PS:由于现在操作的机器是WIN的,无linux环境,无法测试,所以只好问些比较低级问题,打扰了


?是通配符,也就是说当你不知道在那个位置上是否有字符时,可以使用?,?和*的区别是?只匹配0-1个字符,也就是说要么没有,要么最多一个,而*匹配没有或者任意多个。既然是通配符,就有了特殊意义,shell视他们为metachar,也就是说他们的出现将表示他们替代的含义。所以用?就可以了,shell会去找到尽可能的结果。
回复 支持 反对

使用道具 举报

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

本版积分规则

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