Lorsque je supprime un "mot" dans Bash, il s'arrête à certains caractères comme _
et /
. Par exemple, si je tape
/foo/bar
et activer backward-kill-word
(généralement mappé à Alt- Backspaceet / ou Ctrl- w), le texte restant est
/foo/
. Cela ne pas correspondent à $COMP_WORDBREAKS
ou readline
« srl_completer_word_break_characters
. Comment puis-je détecter (de préférence dans un système en cours d'exécution, plutôt que les valeurs par défaut dans le code, car elles peuvent probablement être remplacées) quels caractères sont utilisés pour déterminer les sauts de mots?
[^A-Za-z0-9]
,[^[:alnum:]]
( en fonction de la localisation) ou autre chose?alnum
classe de caractères), mais cela affecterait également d'autres applications.isalnum
, donc en effet dépendant des paramètres régionaux et équivalent à votre deuxième version, @ l0b0.