cygwinを起動するたびに、cygwinを使用するときに気にする唯一のディレクトリまで、いくつかのレベルでcdする必要があります。
デフォルトでこの特定のディレクトリでcygwinを起動するにはどうすればいいですか?つまり、Cygwinを起動するたびに、そのディレクトリにすでにあるのでしょうか?
私はそれまたは近いかもしれないものをいくつか見つけましたが、私はそれらを理解していません。これらの(n00b)用語を検索しても結果は本当にありません。どんな助けも素晴らしいでしょう!
cygwinを起動するたびに、cygwinを使用するときに気にする唯一のディレクトリまで、いくつかのレベルでcdする必要があります。
デフォルトでこの特定のディレクトリでcygwinを起動するにはどうすればいいですか?つまり、Cygwinを起動するたびに、そのディレクトリにすでにあるのでしょうか?
私はそれまたは近いかもしれないものをいくつか見つけましたが、私はそれらを理解していません。これらの(n00b)用語を検索しても結果は本当にありません。どんな助けも素晴らしいでしょう!
回答:
追加するだけ
cd /path/to/directory/you/care/about
〜/ .bashrcファイルの最後に。
C:\cygwin\home\%USERNAME%
。これにより、Windowsへのパスが作成され~/.bashrc
C:\cygwin\home\%USERNAME%\.bashrc
ます。
「cygwinの起動」を定義しますか?マシンの電源を入れたときにcygwinサーバーを実行できますが、それはあなたが意図していることではないと思います。
つまり、シェルプロンプトを開くたびに特定のフォルダーに配置されるので、それを$ HOME / .bashrcに入れることができます
cygwinエディター(UNIXの行末を使用するエディター)を使用して$ HOME / .bashrcを編集し、行を追加します
cd /whatever/directory/you/want
常にこのディレクトリに移動する場合は、おそらくエイリアスを作成することをお勧めします。
$ HOME / .bashrcに以下を入力します。
alias GT='cd /whatever/directory/you/want'
好きな名前を付けてください。「そこに行く」ためにGTを使用しましたが、大文字にすることなく組み込みコマンドから簡単に分離できるため、大文字にしました。
.bash_profile(または.profile)の最後の行に、 cd your/dirctory/here
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)
このソリューションでは、.bashrcを編集する必要はありません。
以下は、mkpasswdの公式ドキュメントからの抜粋です。
たとえば、次のコマンド:
例3.11 代替ホームルートの使用
$ mkpasswd -l -p "$(cygpath -H)" > /etc/passwd
ローカルユーザーのホームディレクトリをWindowsの「プロファイル」ディレクトリに配置します。
(私はこのソリューションがここのものよりも好きなので、stackoverflowに関する同様の質問からコピーされた答え)