Salut les gars,
Je cherche, pour une mon application qui lance bash ou l'interpréteur de votre choix, a faire lire a bash (pour le moment) un fichier ce configuration personnalisé.
J'ai bien sur chercher man bash
, info bash
, etc…
seulement je ne trouve pas le moyen de lui faire lire un fichier qui ne serai pas:
~/.bash_aliases
~/.bash_history
~/.bash_logout
~/.bashrc
ou les analogues dans /etc/….
Bref je ne veut pas qu'il faille ajouter le contenus de mon fichier de configuration personnalisé a un fichier que lis bash au lancement.
Et d'ailleurs je ne suis même pas sûr que bash le fasse ?
Que je le lance correctement autrement dit:
// [...]
char *argv_cmd[2] = {settings.user_shell, NULL} ;
/** Fork a new process: your default shell. **/
// The process is killed per example if you closing a terminals tab or by resetting the terminal else it is automatic by exiting the application.
// So we let no zoombies after us.
GPid child_pid ;
gchar **envp = g_get_environ() ;
vte_terminal_spawn_sync(VTE_TERMINAL(vteterminal),
VTE_PTY_DEFAULT,
settings.start_dir,
argv_cmd,
envp,
G_SPAWN_DEFAULT, NULL, NULL, &child_pid, NULL, NULL);
g_strfreev(envp) ;
vte_terminal_watch_child(VTE_TERMINAL(vteterminal), child_pid) ;
// [...]
J'ai par exemple essayer de faire:
char *argv_cmd[4] = {settings.user_shell, "-o", "history", NULL} ;
Afin que l'historique soit disponible dans mon (vte)terminal.
Mais cela ne marche pas, même en passant G_SPAWN_FILE_AND_ARGV_ZERO comme flag.
Toute aide est bien sur la bienvenue.
Merci pour votre aide et vos réponses éclairées.
PS: Je ne désire pas que passer "bash -o history" comme option, je pense aussi définir des alias aussi, etc…
# --rcfile
Posté par gUI (Mastodon) . Évalué à 4.
Lu dans le man :
L'option --rcfile fichier forcera bash à lire et exécuter les commandes dans fichier plutôt que dans /etc/bash.bashrc et ~/.bashrc.
As-tu essayé ça ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: --rcfile
Posté par Linuxator (site web personnel) . Évalué à 1.
Merci,
en faîte je désire d'abords que bash lise ses fichiers de configuration, ce qu'il ne semble pas faire correctement, car j'ai un problème d'historique qui n'est pas respecté (d'ou l'idée de passer "set -o history").
Puis de faire lire a bash des "fichiers de configuration personalisé" en complément des fichiers qu'il devrait lire quand ont le lance, en complément des fichiers habituel.
Mais comme j'ai hacker la doc, cela ne semble pas être possible, il va falloir forcer l'utilisateur a copier les fichiers de "configuration personnalisé" dans le bon dossier…
Merci pour ta réponse, en toute sympathie, Linuxator.
[^] # Re: --rcfile
Posté par gUI (Mastodon) . Évalué à 2.
Et en faisant "bash --rcfile global.bash"
Et global.bash qui contiendrait :
. /etc/bashrc
. ~/.bashrc
. ~/ma-config-personnelle
Ça le ferait pas ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.