Paramètres .inputrc vs .bashrc

9

J'ai remarqué que peu de paramètres dans .bashrcet les .inputrcfichiers se ressemblent ou sont similaires, tels que:

shopt -s nocaseglobvs set completion-ignore-case
export HISTSIZEvs set history-size
export HISTFILESIZEvsset history-size

Les .inputrcparamètres affectent-ils également l'achèvement et la taille de l'historique dans le shell python (s'il est exécuté à l'intérieur du terminal)?

Est-il HISTSIZElimité history-sizeou le remplace-t-il?

un de trop
la source

Réponses:

10

Du bashmanuel:

history-size (non défini)

Définissez le nombre maximal d'entrées d'historique enregistrées dans la liste d'historique. S'il est défini sur zéro, toutes les entrées d'historique existantes sont supprimées et aucune nouvelle entrée n'est enregistrée. S'il est défini sur une valeur inférieure à zéro, le nombre d'entrées d'historique n'est pas limité. Par défaut, le nombre d'entrées d'historique est défini sur la valeur de la HISTSIZE variable shell. Si vous tentez de définir history-sizeune valeur non numérique, le nombre maximal d'entrées d'historique sera défini sur 500.

Donc , si vous définissez HISTSIZE, ne pas mettre history-sizeen .inputrc. La bibliothèque readline (dont .inputrcest la configuration) ne se soucie pas de ce que vous définissez HISTFILESIZE. HISTFILESIZEest la taille à laquelle le fichier d'historique ( $HISTFILE) est tronqué à la fermeture d'une bashsession shell (parbash , pas par la bibliothèque readline).

Selon la question " Existe-t-il un moyen de définir la taille de la liste d'historique dans bash sur plus de 5 000 lignes? ", Le history-sizeparamètre de la bibliothèque de lignes de lecture semble remplacer leHISTSIZE paramètre dans le shell, si les deux sont définis.

L' nocasegloboption shell n'est pas la même que celle completion-ignore-casedéfinie dans .inputrc. L'option shell concerne le comportement de remplacement de nom de fichier, tandis que le paramètre de ligne de lecture concerne l'achèvement du nom de fichier (lorsque vous appuyez Tabsur la ligne de commande).

Les .inputrcparamètres affectent tous les programmes qui utilisent la bibliothèque readline, pas seulement bash.

bashpeut être démarré sans prise en charge de readline en l'invoquant avec l' --noeditingindicateur.


Notez que les deux HISTSIZEet HISTFILESIZEsont des variables shell , pas des variables d'environnement, et n'ont donc pas besoin d'être exportées.

Kusalananda
la source