LinuxSir.cn,穿越时空的Linuxsir!

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

可以补全前几个字符吗?关于命令的补全。

[复制链接]
发表于 2003-9-21 11:50:42 | 显示全部楼层 |阅读模式
一般都是补全后几个,但这样不灵活。
可以补全前几个字符吗?
发表于 2003-9-21 12:40:05 | 显示全部楼层
在BASH中,命令行补全在设计的时候就是补后面的字符的,如果要补全前面的话,修改一下BASH的源码,我想应该是可以做到的! ;)
(好怪异的想法 :p)
发表于 2003-9-21 17:24:30 | 显示全部楼层
想法不错哦,很有创意,呵呵~~~~~~~~~

 楼主| 发表于 2003-9-21 17:34:11 | 显示全部楼层
其实我是想找出所有的  **ctl  的。
发表于 2003-9-21 18:58:36 | 显示全部楼层
find / -name "*ctl" 2>/dev/null
find / -name "[a-z][a-z][a-z]ctl" 2>/dev/null
 楼主| 发表于 2003-9-21 20:15:06 | 显示全部楼层
谢谢版主~~~~~~
发表于 2003-9-21 20:29:48 | 显示全部楼层
觉得用find查询很慢,而且占用资源比较大,有没一个更好的方法
发表于 2003-9-21 20:57:29 | 显示全部楼层
最初由 777 发表
谢谢版主~~~~~~

不客气 ;)得到你的启发,我写了一个查找文件的脚本,你试试看,有什么意见?
  1. #!/bin/ksh
  2. #name:sfile
  3. #writer:javalee
  4. #date:2003/09/21
  5. #serach some file in your PATH.
  6. #begin
  7. (($#!=0))&&echo "Usage:$(basename $0)[Enter]"&&exit 1
  8. read input?"input last some letter of a command:"
  9. for i in $(echo $PATH|tr ':' '\n')
  10. do
  11.         find $i -name "*$input" 2>/dev/null
  12. done>list
  13. str=$(ls -l list|awk '{print $5}')
  14. if [[ $str == 0 ]]
  15.         then
  16.         echo "No Fount"$input"!"
  17.         exit 1
  18. fi
  19. nl list
  20. read doit?"Input Number of command:"
  21. var=$(cat list|sed -n ${doit}p|cut -f2 -d" ")
  22. echo "|(R)un?|(F)ileType?|(D)isplay?(scrptfile/txtfile)|(M)an?(binfile)|"
  23. echo "EnterKey to exit"
  24. echo -n "Enter your choice:"
  25. read choice
  26. case $choice in
  27. r)      exec $var;;
  28. f)      file $var;;
  29. d)      cat $var;;
  30. m)      man $(basename $var);;
  31. *)      exit;;
  32. esac
  33. rm list
  34. #end
复制代码
发表于 2003-9-21 21:05:55 | 显示全部楼层
最初由 xiaoniao9312 发表
觉得用find查询很慢,而且占用资源比较大,有没一个更好的方法

我感觉还可以.
发表于 2003-9-21 21:40:48 | 显示全部楼层
关掉 bash completion
例:

  1. cat *py<TAB>
复制代码

将补全当前目录下后两个字母是 py 的文件


bash --version

GNU bash, version 2.05b.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

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

本版积分规则

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