Bash 使用Cygwin设置默认路径
我已经安装了Cygwin,我希望它在我启动时在某个目录中启动Bash。如何实现这一点?在您的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的路径 #***********************************************# #
~/.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会读取该文件,以便按照您想要的方式设置环境。