当文件名中带有冒号时(例如1::1这样的一个文件),我键入“ls 1:”,用“tab”键无法补全。输入“ls 1”补全效果为1\:\:1。请问有没有什么办法(如修改bash相关配置)可以实现“ls 1:”补全。我貌似见过有的linux系统可以达到这种效果
希望不吝赐教。谢谢
8 个解决方案
#1
不知道LZ想干啥
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
#2
[Quote=引用 1 楼 的回复:]
不知道LZ想干啥
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
不知道LZ想干啥
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
#3
我想验证一个我遇到问题的一个猜想:当输入“ls 1”补全效果为1\:\:1时,COMP_WORDS的值为"1 :: 1",而"ls 1"补全效果为1::1时,COMP_WORDS的值为"1::1"。这个值影响我后续的操作。所以我想看看是不是这个转义影响的?
#4
转义字符 试一试
#5
其实LZ已经知道很多了,就是转义的影响啊,再深入就是自定义tab的补全算法。
#6
开源的vyatta系统(该系统基于debian的)上名为1::1的文件在bash下可以在"ls 1"补全显示为"1::1"。在debian或censtos,甚至vyatta的sh就显示为"1\:\:1"。我试过在自己的文件系统中使用vyatta的bash(拷贝到我的文件系统)也不行。所以问下有没有配置可以把“:”不要当成特殊字符不加转义符。
#7
开源的vyatta系统(该系统基于debian的)上名为1::1的文件在bash下可以在"ls 1"补全显示为"1::1"。在debian或censtos,甚至vyatta的sh就显示为"1\:\:1"。我试过在自己的文件系统中使用vyatta的bash(拷贝到我的文件系统)也不行。所以问下有没有配置可以把“:”不要当成特殊字符不加转义符。
#8
自己顶一次,希望给个回答,有没有通过配置可以达到效果的?先谢谢
#1
不知道LZ想干啥
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
#2
[Quote=引用 1 楼 的回复:]
不知道LZ想干啥
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
不知道LZ想干啥
输入“ls 1”补全效果为1\:\:1
>>这个不就可以了?为啥非“ls 1:”补全?
>>因为:是特殊字符,需要用\转义,你ls 1\:就能补全了
#3
我想验证一个我遇到问题的一个猜想:当输入“ls 1”补全效果为1\:\:1时,COMP_WORDS的值为"1 :: 1",而"ls 1"补全效果为1::1时,COMP_WORDS的值为"1::1"。这个值影响我后续的操作。所以我想看看是不是这个转义影响的?
#4
转义字符 试一试
#5
其实LZ已经知道很多了,就是转义的影响啊,再深入就是自定义tab的补全算法。
#6
开源的vyatta系统(该系统基于debian的)上名为1::1的文件在bash下可以在"ls 1"补全显示为"1::1"。在debian或censtos,甚至vyatta的sh就显示为"1\:\:1"。我试过在自己的文件系统中使用vyatta的bash(拷贝到我的文件系统)也不行。所以问下有没有配置可以把“:”不要当成特殊字符不加转义符。
#7
开源的vyatta系统(该系统基于debian的)上名为1::1的文件在bash下可以在"ls 1"补全显示为"1::1"。在debian或censtos,甚至vyatta的sh就显示为"1\:\:1"。我试过在自己的文件系统中使用vyatta的bash(拷贝到我的文件系统)也不行。所以问下有没有配置可以把“:”不要当成特殊字符不加转义符。
#8
自己顶一次,希望给个回答,有没有通过配置可以达到效果的?先谢谢