Есть ли в Linux окна, эквивалентные файлу .bashrc?

29491
strupo

Только что обнаружил doskey emacs = emacs -nw $ *, но без чего-то вроде .bashrc мне придется вводить это каждый раз, когда я запускаю оболочку, верно?

56
[Этот вопрос] (http://stackoverflow.com/questions/32003/tool-for-commandline-bookmarks-on-windows) не идентичен, но ответ охватывает ваш сценарий. Marcelo Cantos 13 лет назад 1

6 ответов на вопрос

59
nc3b

Это очень хороший вопрос. Я нашел это . Я полагаю, вы могли бы сделать сценарий 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. Так работает :)

Небольшой фрагмент, который я использую: `doskey ∙ ♦ = exit` (где` ♦ `равно` [char] 4`). Позволяет закрыть оболочку с помощью Ctrl + D, Enter. Joey 13 лет назад 7
@Johannes Rössel ** Хороший ** один, спасибо :-) nc3b 13 лет назад 0
Эта работа отлично, хорошая работа nc3b. Robert S Ciaccio 13 лет назад 0
Это абсолютно потрясающе +1 Mehrdad 12 лет назад 0
HKEY_CURRENT_USER \ Software \ Microsoft \ Командный процессор с автоматическим запуском =% HOMEPATH% \ bashrc.bat Таким образом, у каждого пользователя будет собственная последовательность запуска bambam2174 10 лет назад 2
Я, должно быть, идиот, но куда мне поместить этот код? Marcel 9 лет назад 5
@Marcel Только что добавил ответ, который объясняет это. Humdinger 8 лет назад 0
вероятно, проще всего установить ... `AUTORUN =% USERPROFILE% \ autorun.cmd`, чтобы он использовал его для текущего пользователя ... крутой трюк, попробую его, когда вернусь домой ... Я в основном использую bash в последнее время, но это поможет. Tracker1 8 лет назад 1
Следуя @ комментарию Джои: вы можете ввести `♦` в Notepad ++, открыв Edit -> Character Panel и нажав на символ `EOT` Yibo Yang 7 лет назад 0
17
Martin

Вы можете создать ярлык cmd.exeи добавить /kпереключатель для запуска определенного BAT-файла при запуске, что-то вроде этого:

cmd.exe /k "%HOMEDRIVE%\%HOMEPATH%\cmd-startup.bat" 

cmd-startup.bat в вашем доме реж будет работать так же, как .bashrc

12
Humdinger

Модификация ответа mc3b для тех, кто такие как Windows Noobs.

Создайте файл внутри 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, это работает.

5
JojOatXGME

Assuming your shell is Powershell, not cmd, you can create a profile for your shell. Such profiles basically are scripts which are executed when you start a shell. Just like .bashrc. An important part of this post might be the following:

The locations (on Windows Vista) of the profiles for the powershell.exe host are as follows:

  • %windir%\system32\Windows­PowerShell\v1.0\profile.ps1
    This is for all users of the computer and for all shells.
  • %windir%\system32\Windows­PowerShell\v1.0\Microsoft.Power­Shell_profile.ps1
    This is for all users of the computer, but it is only for the Microsoft.PowerShell shell.
  • %UserProfile%\Documents\Windows­PowerShell\profile.ps1
    This is for the current user only and all shells.
  • %UserProfile%\Documents\WindowsPowerShell\Micro­soft.PowerShell_profile.ps1
    This is for the current user only and only for the Microsoft.PowerShell shell.

These profiles aren't created by default. They exist only if you create them.

It seems to be the same on Windows 7, 8 and 10. You can also find more information here.


Note: You may need to run the following. Otherwise, your profile may not be executed.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

You can also run the following as administrator to change the configuration for all users.

Set-ExecutionPolicy RemoteSigned 
3
lytedev

РЕДАКТИРОВАТЬ : Найдено это: http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx

Чтобы изложить решение Мартина (ярлык), вот эквивалент PowerShell.

ПРИМЕЧАНИЕ . Вам необходимо включить выполнение сценариев PowerShell. Если это отключено, вам нужно запустить PowerShell с повышенными правами и выполнить Set-ExecutionPolicy Unrestricted. Очевидно, что это не рекомендуется по соображениям безопасности, но вы идете.

powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1" 

Имейте файл, названный ps-startup.ps1в вашем пользовательском каталоге, и ваш ярлык запустит его как файл PowerShell при запуске. Просто запустите PowerShell с этим ярлыком.

Это может быть достигнуто «лучшим» способом с помощью профилей PowerShell. Вы можете найти местоположение вашего текущего профиля по: echo $ profile. Вы можете добавить строки в этот файл, и это должно сделать это для будущих сессий. Для существующих сеансов вы можете перезагрузить профиль с помощью: & $ profile. ashic 8 лет назад 0
2
hakatashi

В основном ответ nc3b работает, но пакет DevBox-Common от Chocolatey сделает это проще .

  1. Если вы еще не установили Chocolatey, установите его.
  2. Установите пакет DevBox-Common с помощью choco install devbox-common -y
    • Вы должны ввести эту команду внутри административного cmd.exe или PowerShell.
  3. Теперь у вас есть .bashrc.batи .bashrc.include.aliases-common.batна вашем домашнем пути. Каждое сопоставление файла .bashrc.include.*.batбудет выполняться при каждом запуске командной оболочки.