91 votes

Existe-t-il un équivalent Windows du fichier .bashrc sous Linux ?

Je viens de découvrir doskey emacs=emacs -nw $*, mais sans quelque chose comme .bashrc, je vais devoir taper ça à chaque fois que je démarre un Shell, non ?

92voto

Massimo Ugues Points 1060

C'est une très bonne question. J'ai trouvé diese . Je suppose que vous pourriez faire un cmd script et le faire exécuter au démarrage de cmd :- ?

; Run a command when CMD.exe starts
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"AutoRun"=-

EDIT : Je viens d'essayer. J'ai AutoRun=C:\mini\bashrc.cmd et bashrc.cmd est

@echo off
set TEST_VAR=something

lorsque je lance cmd et que j'entre echo %TEST_VAR% il dit something . Donc ça marche :)

24voto

Martin Points 572

Vous pouvez créer un raccourci vers cmd.exe et ajoutez le /k pour lancer un certain fichier .bat au démarrage, quelque chose comme ça :

cmd.exe /k "%HOMEDRIVE%\%HOMEPATH%\cmd-startup.bat"

cmd-startup.bat dans votre répertoire personnel fonctionnerait alors comme .bashrc

21voto

Humdinger Points 343

Modification de la réponse de mc3b pour ceux qui sont des noobs de Windows comme moi.

Créez un fichier dans C:\bashrc.cmd ou à l'endroit où vous voulez que votre fichier "rc" se trouve.

@echo off
set TEST_VAR=something

Exécuter regedit en le recherchant ou en l'exécutant dans cmd.

Dans les dossiers de gauche, naviguez vers :

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

Cliquez avec le bouton droit de la souris sur le Command Processor et cliquez sur New -> String Value . Entrez la clé AutoRun . Double-cliquez sur AutoRun et entrez l'emplacement de bashrc C:\bashrc.cmd .

Test : Ouvrez une nouvelle fenêtre cmd et tapez :

echo %TEST_VAR%

s'il est dit something ça marche.

7voto

JojOatXGME Points 171

En supposant que votre Shell est Powershell, et non cmd, vous pouvez créer une profil pour votre Shell. Ces profils sont essentiellement des Shell qui sont exécutés lorsque vous démarrez un Shell. Tout comme .bashrc . Une partie importante de ce poste pourrait être le suivant :

Les emplacements (sous Windows Vista) des profils pour l'hôte powershell.exe sont les suivants :

  • %windir%\system32\Windows­PowerShell\v1.0\profile.ps1
    Ceci est valable pour tous les utilisateurs de l'ordinateur et pour tous les shells.
  • %windir%\system32\Windows­PowerShell\v1.0\Microsoft.Power­Shell_profile.ps1
    Ceci est pour tous les utilisateurs de l'ordinateur, mais seulement pour l'équipe de Microsoft.PowerShell Shell.
  • %UserProfile%\Documents\Windows­PowerShell\profile.ps1
    Ceci est pour l'utilisateur actuel seulement et tous les shells.
  • %UserProfile%\Documents\WindowsPowerShell\Micro­soft.PowerShell_profile.ps1
    Ceci est pour l'utilisateur actuel seulement et seulement pour le Microsoft.PowerShell Shell.

Ces profils ne sont pas créés par défaut. Ils n'existent que si vous créez les créez.

Le problème semble être le même sous Windows 7, 8 et 10. Vous pouvez également trouver plus d'informations aquí .


Note : Vous devrez peut-être exécuter ce qui suit. Sinon, votre profil risque de ne pas être exécuté.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Vous pouvez également exécuter la commande suivante en tant qu'administrateur pour modifier la configuration pour tous les utilisateurs.

Set-ExecutionPolicy RemoteSigned

4voto

Sunspawn Points 569

À tous ceux qui viennent d'un monde unix-like et qui tombent sur cette question (c'est-à-dire tout le monde, puisqu'il s'agit d'une question sur les .bashrc ) : Radicalement améliorer la durée de vie de votre console Windows et arrêter d'utiliser le stock cmd.exe et le terminal Windows par défaut ! Aucune personne posant cette question, ou cherchant des réponses à cette question, ne devrait utiliser le système actuel par défaut. cmd.exe et terminal !

Si vous êtes prêt à sortir du stock cmd.exe (Je ne connais aucune raison valable de ne pas le faire), une réponse simple à la question initiale est la suivante :

Installer et utiliser Cmder et votre .bashrc L'équivalent devient %CMDER_ROOT%\config\user_profile.cmd tout en de manière significative améliorer votre expérience de Shell/console.

Des opinions, des extensions et des recommandations vaguement liées suivent...


Cmder est un métapackage qui regroupe les éléments suivants ConEmu , Clink et un tas de paramètres supplémentaires et d'autres choses. ConEmu est l'émulateur de terminal qui fournit la capacité de démarrage script, qui (par l'intermédiaire de l'option paramètres par défaut de ConEmu que Cmder fournit ) finit par être acheminé vers l'adresse indiquée %CMDER_ROOT%\config\user_profile.cmd .

Vous pouvez vouloir utiliser explicitement ConEmu et Clink indépendamment, plutôt que d'utiliser le paquetage Cmder.

Pour ce faire, et pour ajouter un peu plus de bonheur "je dois travailler sous Windows, que dois-je faire ?", voici quelques bonnes choses à faire/opinions. Il est vrai qu'elles sont très peu liées à la question initiale, mais j'ai récemment refait une installation Windows, j'ai déjà tapé la plupart de ces informations et le public cible de cette question est correct, alors voilà...

  1. Utilice scoop.sh pour todo vos installations
    • Scoop est un excellent gestionnaire de paquets pour Windows (similaire à apt/yum/pacman/emerge/quelque chose)... où tous les paquets sont installés pour l'utilisateur (sans avoir besoin de privilèges d'administrateur).
    • installez définitivement le extras seau pour de nombreuses choses non consoles ( scoop bucket add extras )
    • vous pouvez également utiliser chocolaté mais (à mon avis) seulement si vous êtes sous la contrainte et que la chose que vous voulez n'est pas dans un seau.
    • ou faites simplement votre propre manifeste de scoop
    • c'est un jour triste quand la chose que je veux n'est pas dans un seau à godet :(
    • Contrairement à scoop, chocolatey a besoin des privilèges d'administrateur pour ses installations.
  2. Utilice Clink comme votre Shell au lieu de cmd.exe
    • scoop install clink
    • vous donne les avantages de GNU readline (comme ctrl-r, ctrl-s cmd navigation historique) et plus encore
    • veillez également à clink autorun install pour le faire fonctionner lorsque cmd.exe est exécuté
  3. Utilice ConEmu comme émulateur de terminal
    • scoop install conemu
    • le terminal Windows est terrible (mais ils sont Je travaille dessus )
    • assurez-vous de le configurer comme le terminal par défaut
      • "Forcer la ConEmu" et "Enregistrer au démarrage du système d'exploitation" en Settings::Integration->Default term
    • TELLEMENT d'autres possibilités de configuration
      • si vous êtes débordés, vous pouvez vous contenter de Cmder et ses valeurs par défaut raisonnables ( scoop install cmder ), mais je pense personnellement qu'il est plus propre d'installer/exécuter Clink et ConEmu séparément.
  4. Installer Gow (comme, à l'heure actuelle )
    • scoop install gow
    • > 100 outils GNU ( grep , vim , sed , ls , cat , curl , wc , less , find etc, etc) que vous connaissez et aimez, directement dans votre cmd.exe -comme un terminal sans bizarrerie non native
    • surveiller les renommages par collision de noms comme find->gfind y awk->gawk
    • J'utilise Gow presque exclusivement pour le travail de base sur Windows au lieu de m'embêter avec WSL, Cygwin, MSYS, git bash, etc.
    • Les outils Gow sont aussi proches de GNU/*nix sur Windows que je l'ai expérimenté jusqu'à présent, tout en restant natifs de Windows, sans les maux de tête des environnements Cygwin, les méchancetés du système de fichiers WSL (qui sont aussi des problèmes de sécurité). en cours de réalisation ), gitbash Windows, etc.
  5. Installez d'autres outils pratiques comme bon vous semble (avec scoop)
    • el principal y extras Les seaux à godets ont beaucoup de plus de bons outils et applications (Python, openssh, ripgrep, fzf, sysinternals, sublime-text, meld, ccleaner, etc)
      • bien qu'il ne s'agisse absolument pas d'une affaire de GNU/unix, sysinternals est une collection essentielle/classique d'outils natifs de Windows.
    • utiliser scoop search y scoop info pour trouver celles qui vous intéressent, ou parcourir les godets (il y a plusieurs seaux (pas seulement le principal et les extras)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X