web-dev-qa-db-ja.com

Cygwin Bashを実行するようにConEmuを構成するにはどうすればよいですか?

新しいタスクを作成しました

{バッシュ}

私のホームディレクトリを渡しました

/ dir "C:\ Users\TMB \"

アプリケーションとしてbashを追加しました

C:\ cygwin\bin\bash.exe

Bashを開くと、基本的なUNIX/Cygwinユーティリティを使用できません。 Cygwin Bashを実行するようにConEmuを構成するにはどうすればよいですか?

43
TMB

これは他の人を助けるかもしれません。

ConEmuのバージョン140310がCygWin Bashを自動的に検出するようです。

ConEmuをインストールした後にCygwinをインストールした場合は、タスクのリストをReload ...する必要があります。

  1. 設定に移動...(Win + Alt + P)
  2. タスクのリストに移動します(スタートアップ>タスク)
  3. Reload ...ボタンをクリックします。

事前定義されたタスクのリストのオプションの1つとして{CygWin bash}が表示されます。

Screenshot of CygWin bash in ConEmu

PS-この方法が機能しない場合は、ConEmu設定をリセットしてみてください(下部にあるReset ...ボタンをクリック設定ウィンドウ)

49
FilmiHero

またはの代わりに

C:\cygwin\bin\bash.exe

使用する

C:\cygwin\Cygwin.bat
7
Yura

Bashが$PATHの適切な値を受け取っていることを確認してください。通常はそれを呼び出すものから継承しますが、ConEmuはWindowsアプリケーションであるため、提供するのは%Path%に設定したものだけです。通常、これにはCygwinパスディレクトリが含まれていないため、Bashはls、&cを探す場所がわかりません。

私がこれを解決する方法は、ConEmuがそうするために提供するあらゆる手段を介して、--login -iをコマンドライン引数としてBashに渡すことです。これにより、インタラクティブログインシェルとして実行していることが通知されるため、起動時に/etc/profile~/.profile~/.bashrcが読み取られます。私の経験では、これで十分な$PATHを得ることができました。それがうまくいかない場合は、PATH=/bin:/usr/bin:/usr/local/bin:[...]:$PATH~/.bashrcのような行で明示的に指定できます。

6
Aaron Miller

これが私のやり方です

次のコマンドでConEmuに新しいタスクを作成します

set HOME=C:\Home & "C:\Home\Applications\cygwin64\bin\mintty.exe" -i /Cygwin-Terminal.ico -
2
Buzz

それはかなり古い質問ですが、とにかくこれを共有したいと思います。

特定の作業ディレクトリ内でbashを開始するには、たとえばコマンドをSET CHERE_INVOKING=1 & "C:\cygwin\bin\bash.exe --login -i" -cur_console:t:"cygwin terminal"に設定し、説明されているように/dir "..."を介して作業ディレクトリを指定します here

0
Felix Bayer

bashや他のシェルからだけでなく、実行方法に関係なくcmdからCygwinコマンドを使用できるようにするには、Path環境変数にCygwinのbinディレクトリが追加されました。
Control Panel > System and Security > System(標準のホットキーWin+Pause)、次にAdvanced system settings > Environment variablesに移動します。すべてのユーザーについて、システムのPath変数を編集します。ユーザー専用です。ユーザーのPath変数を編集します(存在しない場合は作成します)。
cygwinC:\cygwin(64ビットCygwinの場合はcygwin64の可能性があります)にインストールされていると想定して、PathC:\cygwin\binを追加します。 system Path変数を使用する場合、Cygwinのbinを最初に追加すると、一部のCygwinのコマンドは組み込みコマンドをシャドウします(たとえば、CygwinのfindはWindowsの代わりに使用されますfind)。私はそうしたいのですが、そうしない場合は、CygwinのbinPathの最後に追加します。

他のほとんどの回答でもConEmuのセットアップについて説明しているので、私も個人的な意見を述べます。

ログインしていないシェルを実行したい。たとえば、Linuxでは、テキストコンソールまたはsshを介してログインするとログインシェルを取得し、ターミナルエミュレータ(xterm、konsoleなど)を開くと非ログインインタラクティブシェルを取得します。

私の{Bash}タスクには、作業ディレクトリを現在のタブの作業ディレクトリに設定するための/dir "%CD%"タスクパラメータがあります(たとえば、bashタスクがFarの場合)。 bashを開始するコマンド:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"

--login -iオプションが省略されていることに注意してください。シェルは非ログインインタラクティブシェルとして起動します(非オプションの引数がなく、-cオプションがないため、stdinとstdoutが端末に接続されているため、INVOCATIONセクションを参照してください)詳しくはbashのマンページをご覧ください)。これは、ユーザーrcfile ~/.bashrcからコマンドを読み取って実行します(ログインシェルのように/etc/profileまたは~/.bash_profileではないため、set CHERE_INVOKING=1は必要ありません/etc/profileに関して)。したがって、ユーザーエイリアス、シェルオプション、追加の環境変数などを〜/ .bashrcに配置します。

0
Gene Pavlovsky