刚刚发现 doskey emacs=emacs -nw $*,但是没有像 .bashrc 这样的东西,每次启动 shell 时我都必须输入它,对吗?
答案1
这个问题问得非常好。我发现这。我想您可以创建一个 cmd 脚本并让它在启动 cmd 时运行:-?
; Run a command when CMD.exe starts
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"AutoRun"=-
编辑:我刚刚试过了。我有AutoRun=C:\mini\bashrc.cmd
,并且 bashrc.cmd 是
@echo off
set TEST_VAR=something
当我启动 cmd 并输入时,echo %TEST_VAR%
它显示something
。所以它起作用了 :)
答案2
修改nc3b 的回答对于像我一样的 Windows 新手来说。
C:\bashrc.cmd
在您希望“rc”文件驻留的任何位置创建一个文件。
@echo off
set TEST_VAR=something
regedit
通过搜索或在 cmd 中运行来运行它。
在左侧的文件夹中导航至:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
右键点击Command Processor
文件夹,点击New -> String Value
。输入密钥AutoRun
。双击AutoRun
并输入bashrc位置C:\bashrc.cmd
。
测试:打开一个新的cmd窗口并输入:
echo %TEST_VAR%
如果它说something
,它就有效。
答案3
您可以创建一个快捷方式cmd.exe
并添加/k
开关以在启动时运行某个 .bat 文件,如下所示:
cmd.exe /k "%HOMEDRIVE%\%HOMEPATH%\cmd-startup.bat"
cmd-startup.bat
在你的主目录中就可以像.bashrc
答案4
对于所有来自类unix世界并遇到这个问题的人(即每个人,因为它询问.bashrc
):根本改善您的 Windows 控制台生活并停止使用库存cmd.exe
和默认的 Windows 终端! 没有人问这个问题,或者看这个问题的答案,应该使用当前的默认cmd.exe
和终端!
如果愿意关闭库存cmd.exe
(我知道没有不这样做的正当理由),对原始问题的一个简单回答是:
安装和使用康德而你的.bashrc
等价物变成
%CMDER_ROOT%\config\user_profile.cmd
,同时显著地改善您的 shell/控制台体验。
以下是意见、扩展和松散相关的建议......
Cmder 是一个元包,它康埃穆,碰杯以及一堆额外的设置和内容。ConEmu 是提供启动脚本功能的终端仿真器,它(通过Cmder 提供的默认 ConEmu 设置) 最终路由到指示的%CMDER_ROOT%\config\user_profile.cmd
。
您可能只想明确地使用 ConEmu 和 Clink,而不是使用捆绑的 Cmder 包。
为了做到这一点,并增加一些“必须在 Windows 上工作,我该怎么办”的幸福感,下面是一些好/有主见的事情要做。这些确实与最初的问题非常松散相关,但我最近又经历了 Windows 设置,已经输入了大部分内容,这个问题的目标受众是正确的,所以你看吧……
- 使用scoop.sh为了全部您的安装
- scoop 是一款出色的 Windows 软件包管理器(类似于 apt/yum/pacman/emerge/whatever)...其中所有软件包都安装给用户(无需管理员权限)
extras
对于许多非控制台的东西,一定要安装bucket (scoop bucket add extras
)- 你也可以使用巧克力味,但(我的意见)只有在胁迫下,而且你想要的东西不在铲斗里
- 或者直接制作自己的独家新闻清单
- 当我想要的东西不在铲斗里时,那真是令人伤心的一天 :(
- 与 scoop 不同,chocolatey 需要管理员权限才能安装
- 使用碰杯作为你的外壳,而不是
cmd.exe
scoop install clink
- 为您提供 GNU readline 优点(如 ctrl-r、ctrl-s cmd 历史导航)等
- 确保在运行
clink autorun install
时也使其运行cmd.exe
- 使用康埃穆作为你的终端模拟器
- 安装高(喜欢,现在)
scoop install gow
- >100 个 GNU 工具(
grep
,,,,,,,,,,等等)您熟悉和喜爱的,直接在您的类似终端中,没有非vim
本地的怪异感sed
ls
cat
curl
wc
less
find
cmd.exe
- 留意名称冲突重命名,
find->gfind
例如awk->gawk
- 我几乎只使用 Gow 来进行基本的 Windows 工作,而不是使用 WSL、Cygwin、MSYS、git bash 等。
- Gow 工具与我迄今为止体验过的 GNU/*nix-on-Windows 非常接近,同时又保持了 Windows 原生的特性,没有 Cygwin 环境和 WSL 文件系统的困扰(这也是正在进行中)、gitbash 窗口等
- 根据需要安装其他方便的工具(使用勺子)