Bash 使用Cygwin设置默认路径

Bash 使用Cygwin设置默认路径,bash,cygwin,filepath,Bash,Cygwin,Filepath,我已经安装了Cygwin,我希望它在我启动时在某个目录中启动Bash。如何实现这一点?在您的~/.bashrc中,您可以将$HOME更改到该目录,或者您可以[尝试但未成功]在文件末尾向该目录添加cd。python脚本 !!在使用之前,将所有字符串添加到末尾 使用name\u script.py c:\path path_bachrc-指向.bashrc的路径 cmd-cygwin.bat的路径 #***********************************************# #

我已经安装了Cygwin,我希望它在我启动时在某个目录中启动Bash。如何实现这一点?

在您的
~/.bashrc
中,您可以将
$HOME
更改到该目录,或者您可以[尝试但未成功]在文件末尾向该目录添加
cd

python脚本

!!在使用之前,将所有字符串添加到末尾

使用name\u 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)

Cygwin上的Bash在您的主文件夹中启动,就像在Linux上一样,Cygwin尽可能地模仿Linux。所以,你只需要这样做


(请注意,您的Cygwin文件夹不必与Windows用户主文件夹相同。默认情况下,它们是不同的,但您可以将类似于
/cygdrive/c/Users/myid
的内容放入
/etc/passwd
中的Cygwin用户条目中,使它们相同。)

在您的
~/.bash\u配置文件中
您只需编写
cd/cygdrive/c/path/to/where/you/want/cygwin/to/start
。您可以在cygwin安装文件夹中的
\home\\.bash\u profile
下找到此文件。(在我的例子中:
C:\cygwin64\home\User\.bash\u profile
)。

一个
~/.bashrc
到底在哪里,是什么?编辑:整个文件似乎是一个巨大的注释。
~
是您的快捷方式,您可以在这里登录。通常是
/home/username
,其中
username
是您的实际用户名
.bashrc
是一个文件,当您登录时,bash会读取该文件,以便按照您想要的方式设置环境。