Cygwinのデフォルトの起動ディレクトリを変更するにはどうすればよいですか?


36

cygwinを起動するたびに、cygwinを使用するときに気にする唯一のディレクトリまで、いくつかのレベルでcdする必要があります。

デフォルトでこの特定のディレクトリでcygwinを起動するにはどうすればいいですか?つまり、Cygwinを起動するたびに、そのディレクトリにすでにあるのでしょうか?

私はそれまたは近いかもしれないものをいくつか見つけましたが、私はそれらを理解していません。これらの(n00b)用語を検索しても結果は本当にありません。どんな助けも素晴らしいでしょう!


ちょっとしたヒント:cygwinを使用すると、何度かcdする必要はありません-1つのコマンドで実行できます(サブディレクトリに対しても提案が表示されます)。
ラインの

回答:


48

追加するだけ

cd /path/to/directory/you/care/about

〜/ .bashrcファイルの最後に。


1
どこWindowsのインストール中にその〜/ .bashrcのファイルがある
エルデムECE

4
Cygwinのインストール方法によって異なりますが、CygwinのホームディレクトリへのWindowsパスは通常ですC:\cygwin\home\%USERNAME%。これにより、Windowsへのパスが作成され~/.bashrc C:\cygwin\home\%USERNAME%\.bashrcます。
ゲイリージョン14年

dafaultホームディレクトリがファイルを置きたくないディレクトリである場合はどうでしょう。
アルトゥーロ

@Arturo 2つのことを台無しにすると思います-ユーザーのホームディレクトリとCygwinのホームディレクトリ。Cygwinをインストールする場合、とにかく.bashrcファイルがあります。
ライン

3

「cygwinの起動」を定義しますか?マシンの電源を入れたときにcygwinサーバーを実行できますが、それはあなたが意図していることではないと思います。

つまり、シェルプロンプトを開くたびに特定のフォルダーに配置されるので、それを$ HOME / .bashrcに入れることができます

cygwinエディター(UNIXの行末を使用するエディター)を使用して$ HOME / .bashrcを編集し、行を追加します

cd /whatever/directory/you/want

常にこのディレクトリに移動する場合は、おそらくエイリアスを作成することをお勧めします。

$ HOME / .bashrcに以下を入力します。

alias GT='cd /whatever/directory/you/want'

好きな名前を付けてください。「そこに行く」ためにGTを使用しましたが、大文字にすることなく組み込みコマンドから簡単に分離できるため、大文字にしました。



0

Pythonスクリプト

!!使用する前に、末尾に.bashrc文字列を追加してください!!

つかいます name_script.py c:\path

path_bachrc -.bashrcへのパス

cmd -cygwin.batへのパス

#***********************************************#
#   gangelXXX@gmail.com                         #
#***********************************************#
import argparse
import subprocess
import os

path_bachrc = 'c:/PP/cygwin/home/adm/.bashrc'
cmd = 'c:\PP\cygwin\Cygwin.bat'

def delEndLineFromFile(filename):
    with open(filename, 'r') as f:
        aList = f.readlines()

    bList = aList[0:-1]

    with open(filename, 'w') as fd:
        fd.writelines(bList)


parser = argparse.ArgumentParser()
parser.add_argument("newPath", type=str, help="New path in .bachrc cygwin")
args = parser.parse_args();

delEndLineFromFile(path_bachrc);

p = args.newPath;
pNew = 'cd /cygdrive/' + p[:1] + p[2:].replace('\\', '/')
print(pNew)

with open(path_bachrc, 'a') as f:
    f.write(pNew)

PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell = True)

2
説明してください。
ロニーマイケル

Pythonスクリプト使用name_script.py c:\ path \
user236976

path_bachrc-.bashrcへのパス
ユーザー236976

cmd-cygwin.batへのパス
ユーザー236976

0

このソリューションでは、.bashrcを編集する必要はありません。

以下は、mkpasswdの公式ドキュメントからの抜粋です。

たとえば、次のコマンド:

例3.11 代替ホームルートの使用

$ mkpasswd -l -p "$(cygpath -H)" > /etc/passwd

ローカルユーザーのホームディレクトリをWindowsの「プロファイル」ディレクトリに配置します。

(私はこのソリューションがここのものよりも好きなので、stackoverflowに関する同様の質問からコピーされた答え)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.