Linuxに.bashrcファイルに相当するウィンドウはありますか?


65

doskey emacs = emacs -nw $ *を発見しましたが、.bashrcのようなものがなければ、シェルを起動するたびにそれを入力する必要がありますよね?


1
この質問は同一ではありませんが、答えはあなたのシナリオをカバーしています。
マルセロカントス

回答:


69

これは非常に良い質問です。これを見つけまし。私はあなたがcmdスクリプトを作成し、cmdの起動時にそれを実行させることができると思います:-?

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

編集:私はちょうどそれを試しました。私が持っているAutoRun=C:\mini\bashrc.cmdとbashrc.cmdは

@echo off
set TEST_VAR=something

私はcmdを起動し、入力したときecho %TEST_VAR%、それは述べていますsomething。だからそれは動作します:)


10
私が使用する小さなスニペット:doskey∙♦=exit(where is [char]4)。Ctrl + D、Enterでシェルを閉じることができます。
ジョーイ

これは素晴らしく、素晴らしい仕事nc3bです。
ロバートSチャシオ

2
HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor with AutoRun =%HOMEPATH%\ bashrc.batしたがって、すべてのユーザーが独自の起動シーケンスを持つことになります
-bambam2174

5
私はばかでなければなりませんが、このコードはどこに置きますか?
マルセル14年

1
おそらく最も簡単に設定して... AUTORUN=%USERPROFILE%\autorun.cmd現在のユーザーに使用するように...クールなトリックですが、家に帰ったときに試してみます...私は最近bashを使用していますが、これは役立ちます。
トラッカー1

21

起動時に特定の.batファイルを実行するためのショートカットを作成しcmd.exe/kスイッチを追加するには、次のようにします。

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

cmd-startup.bat あなたのホームディレクトリでは、次のように動作します .bashrc


14

私のようなウィンドウ初心者の人のためのmc3bの回答の修正。

でファイルを作成しC:\bashrc.cmdたり、好きな場所あなたの「RC」ファイルが存在します。

@echo off
set TEST_VAR=something

regedit検索するか、cmdで実行して実行します。

左側のフォルダーで、次の場所に移動します。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

Command Processorフォルダを右クリックして、をクリックしますNew -> String Value。キーを入力しますAutoRun。ダブルクリックしAutoRunて、bashrcの場所を入力しますC:\bashrc.cmd

テスト:新しいcmdウィンドウを開き、次を入力します。

echo %TEST_VAR%

と表示されている場合something、動作します。


5

シェルがcmdではなくPowershellであると仮定すると、シェルのプロファイルを作成できます。このようなプロファイルは基本的に、シェルを起動したときに実行されるスクリプトです。のように.bashrcこの投稿の重要な部分は次のとおりです。

powershell.exeホストのプロファイルの場所(Windows Vista)は次のとおりです。

  • %windir%\system32\Windows­PowerShell\v1.0\profile.ps1
    これは、コンピューターのすべてのユーザーおよびすべてのシェル用です。
  • %windir%\system32\Windows­PowerShell\v1.0\Microsoft.Power­Shell_profile.ps1
    これはコンピューターのすべてのユーザー向けですが、Microsoft.PowerShellシェル専用です。
  • %UserProfile%\Documents\Windows­PowerShell\profile.ps1
    これは、現在のユーザーとすべてのシェル専用です。
  • %UserProfile%\Documents\WindowsPowerShell\Micro­soft.PowerShell_profile.ps1
    これは、現在のユーザー専用であり、Microsoft.PowerShellシェル専用です。

これらのプロファイルはデフォルトでは作成されません。作成した場合にのみ存在します。

Windows 7、8、10でも同じようです。詳細については、こちらをご覧ください


注:以下を実行する必要がある場合があります。そうしないと、プロファイルが実行されない場合があります。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

管理者として次を実行して、すべてのユーザーの構成を変更することもできます。

Set-ExecutionPolicy RemoteSigned

3

編集:これを見つけました:http : //msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx

Martinのソリューション(ショートカット)を説明するために、同等のPowerShellを紹介します。

:PowerShellスクリプトの実行を有効にする必要があります。これが無効になっている場合は、昇格されたPowerShellを実行して実行する必要がありますSet-ExecutionPolicy Unrestricted。明らかに、これはセキュリティ上の理由から推奨されていませんが、やることはあります。

powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1"

ps-startup.ps1ユーザーディレクトリに名前の付いたファイルを用意すると、起動時にショートカットがPowerShellファイルとして実行されます。このショートカットを使用してPowerShellを実行してください。


これは、PowerShellプロファイルを介して「より良い」方法で実現できます。現在のプロファイルの場所は、echo $ profileで見つけることができます。そのファイルに行を追加できます。これにより、今後のセッションで使用できるようになります。既存のセッションの場合、&$ profileを使用してプロファイルをリロードできます。
ashic

3

基本的にnc3bの答えは機能しますが、ChocolateyのDevBox-Commonパッケージはそれを簡単にします。

  1. Chocolateyをまだインストールしていない場合は、インストールします。
  2. DevBox-Commonパッケージをインストールする choco install devbox-common -y
    • このコマンドは、管理 cmd.exeまたはPowerShell 内に入力する必要があります。
  3. 今、あなたは持っている.bashrc.bat.bashrc.include.aliases-common.batあなたのホームパスインチ 一致.bashrc.include.*.batするすべてのファイルは、コマンドシェルが起動するたびに実行されます。

3

Unixのような世界からやって来て、この質問に着手するすべての人々(つまり、みんなが質問しているので.bashrc):Windowsコンソールの寿命を根本的に改善し、ストックcmd.exeとデフォルトのWindowsターミナルの使用をやめましょう!! この質問をしたり、この質問への回答を見たりする人は、現在のデフォルトcmd.exeと端末を使用しないでください!

在庫をオフにする意思がある場合cmd.exe(正当な理由がないことを知っています)、元の質問に対する簡単な答えは次のとおりです。

Cmderをインストールして使用すると、.bashrc同等のものがになり %CMDER_ROOT%\config\user_profile.cmd、シェル/コンソールの操作性が大幅に向上します。

意見、拡張、および大まかに関連する推奨事項は次のとおりです...


Cmderアップパッケージ化するメタパッケージですConEmuクリンク、余分な設定やものの山を。ConEmuは、スタートアップスクリプト機能を提供するターミナルエミュレーターであり、Cmderが提供するデフォルトのConEmu設定により、指定されたにルーティングされます%CMDER_ROOT%\config\user_profile.cmd

バンドルされたCmderパッケージを使用するのではなく、ConEmuとClinkを個別に明示的に使用することもできます。

それを実行し、「ウィンドウで作業する必要があります。どうすればよいですか」という至福を追加するには、良い/意見があります。これらは明らかに最初の質問と非常に大雑把に関連していますが、最近Windowsのセットアップを再度行っており、このほとんどを既に入力しており、この質問の対象読者は正しいので、ここに行きます...

  1. すべてのインストールにscoop.shを使用します
    • scoopはWindows用の優れたパッケージマネージャーです(apt / yum / pacman / emerge / whateverに類似)...すべてのパッケージがユーザーにインストールされます(管理者権限は不要です)
    • extras多くの非コンソールのものにバケットを確実にインストールする(scoop bucket add extras
    • また、chocolateyを使用することもできますが、(私の意見では)強要され、必要なものがスクープバケツにない場合のみ
    • または、独自のスクープマニフェストを作成します
    • 私が欲しいものがスクープバケツにない悲しい日です:(
    • scoopとは異なり、chocolateyのインストールには管理者権限が必要です
  2. 代わりにClinkをシェルとして使用しますcmd.exe
    • scoop install clink
    • GNU readlineの良さ(ctrl-r、ctrl-s cmd履歴ナビゲーションなど)を提供します
    • また、必ずclink autorun install時に実行させるためにcmd.exe実行されます
  3. ConEmuをターミナルエミュレータとして 使用する
    • scoop install conemu
    • Windows端末はひどいです(しかし、彼らはそれに取り組んでいます
    • 必ずデフォルトのターミナルとして設定してください
      • 「ConEmuを強制」および「OS起動時に登録」で Settings::Integration->Default term
    • 他の多くの設定可能性
      • 圧倒される場合は、Cmderとその妥当なデフォルト(scoop install cmder)に固執するだけかもしれませんが、個人的にはClinkとConEmuを別々にインストール/実行する方がクリーンだと思います。
  4. Gowをインストールします(今のように)
    • scoop install gow
    • > 100のGNUツールgrepvimsedlscatcurlwclessfind、など、など)あなたが知っていると愛、直接あなたの中cmd.exeの非ネイティブすごみのない様、端末
    • find->gfindとのような名前衝突の名前変更に注意してくださいawk->gawk
    • Gowは、WSL、Cygwin、MSYS、git bashなどをいじるのではなく、基本的なWindowsの作業専用に使用しています。
    • Gowツールは、Cygwin環境、WSLファイルシステムの厄介さ(これも作業中)、gitbashウィンドウなどの頭痛なしに、Windowsにネイティブでありながら、これまでに経験したGNU / * nix-on-Windows に近づきます
  5. 他の便利なツールを適切にインストールします(スクープ付き)
    • メインエキストラはバケットが持っているスクープ多くの、より良いツールやアプリケーションを(のpython、opensshの、ripgrep、fzf、Sysinternalsの、崇高なテキスト、メルド、CCleanerは、など)
      • 間違いなくGNU / unixのものではありませんが、sysinternalsはWindowsネイティブツールの不可欠な/古典的なコレクションです。
    • を使用scoop searchscoop infoて必要なものを見つけるか、バケットを参照します(メインとエクストラだけでなく、いくつかのバケットがあります)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.