web-dev-qa-db-ja.com

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

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

72
herrturtur

これは非常に良い質問です。私は this を見つけました。 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と表示されます。だからそれは動作します:)

75
nc3b

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

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

その後、ホームディレクトリのcmd-startup.batは、.bashrcと同じように機能します。

23
Martin

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と表示されていれば機能します。

17
Humdinger

シェルがcmdではなくPowershellであるとすると、シェルのprofileを作成できます。このようなプロファイルは基本的に、シェルを起動したときに実行されるスクリプトです。と同じように .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
5
JojOatXGME

[〜#〜] edit [〜#〜]:これが見つかりました: 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を実行するだけです。

3
lytedev

UNIXのような世界から来てこの質問にたどり着くすべての人々(つまり、_.bashrc_について尋ねるので全員):RadicallyWindowsコンソールの寿命を延ばし、在庫_cmd.exe_とデフォルトのWindows端末の使用をやめます!!誰もこの質問をしたり、回答を調べたりしないこの質問は、現在のデフォルト_cmd.exe_およびターミナルを使用する必要があります!

在庫切れを希望する場合は_cmd.exe_(そうしない正当な理由はないと思います)の場合、元の質問に対する簡単な答えは次のとおりです。

Cmder をインストールして使用すると、_.bashrc_に相当するものが_%CMDER_ROOT%\config\user_profile.cmd_になり、シェル/コンソールも大幅に改善されます経験。

意見、拡張、および大まかに関連する推奨事項が続きます...


Cmderは、 ConEmuClink 、および追加の設定とスタッフの山をパッケージ化したメタパッケージです。 ConEmuは、スタートアップスクリプト機能を提供するターミナルエミュレーターであり、( Cmderが提供するデフォルトのConEmu設定 を介して)指定された_%CMDER_ROOT%\config\user_profile.cmd_にルーティングします。

バンドルされたCmderパッケージを使用するのではなく、ConEmuとClinkを個別に明示的に使用したい場合があります。

それを行い、さらに「ウィンドウで作業する必要があります。どうすればよいですか」という至福を追加するには、以下にいくつかの良い/意見があることを示します。これらは確かに最初の質問とはかなり緩やかに関連していますが、私は最近Windowsセットアップを再度行って、これのほとんどをすでに入力しており、この質問の対象読者は正しいので、ここに行きます...

  1. scoop.sh forallyour installs
    • scoopはWindows用の優れたパッケージマネージャーです(apt/yum/pacman/emerge/whateverに似ています)...すべてのパッケージがユーザーにインストールされます(管理者権限は必要ありません)。
    • コンソール以外の多くの場合は必ずextrasバケットをインストールしてください(_scoop bucket add extras_)
    • chocolatey を使用することもできますが、(私の意見)強引で、必要なものがスクープバケツにない場合のみ
    • または、独自のスクープをマニフェストにする
    • 私が欲しいものがスクープバケットにないときは悲しい日です:(
    • scoopとは異なり、chocolateyのインストールには管理者権限が必要です
  2. _cmd.exe_ の代わりに Clink をシェルとして使用します。
    • _scoop install clink_
    • GNU readline goodness(like ctrl-r、ctrl-s cmd history navigation)などを提供します
    • _clink autorun install_が実行されたときに実行されるように、必ず_cmd.exe_も実行してください。
  3. ConEmu をターミナルエミュレータとして使用します
    • _scoop install conemu_
    • windowsターミナルはひどい(ただし、 動作中
    • 必ずデフォルトの端末として設定してください
      • _Settings::Integration->Default term_の「Force ConEmu」および「Register on OS startup」
    • 非常に多くの他の構成の可能性
      • 圧倒される場合は、 Cmder とその適切なデフォルト(_scoop install cmder_)をそのまま使用することもできますが、個人的には、ClinkとConEmuを個別にインストール/実行する方がクリーンだと思います。
  4. インストール Gow (like、right now
  5. 必要に応じて他の便利なツールをインストールします(スクープを使用)
    • main および extras スクープバケットにはmanyより優れたツールとアプリケーション(python、 openssh、ripgrep、fzf、sysinternals、sublime-text、meld、ccleanerなど)
      • 確かにGNU/unixのものではありませんが、 sysinternals は、Windowsネイティブツールの必須/クラシックコレクションです。
    • _scoop search_および_scoop info_を使用して必要なバケットを見つけるか、バケットを参照します( 複数のバケット があり、メインとエクストラだけではありません)
3
Russ

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

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

macros.doskeyファイルか、macro.cmd そんな感じ。

garbage であり、多数のマクロがあるレポを作成しました。インストールのチュートリアルを作成しましたが、複雑すぎます

0
garbageoverflow