-
How to Create a Hackintosh Image
Teaching you in all kinds of ways
-
I’m Done for: IntelliJ IDEA’s Postfix Completion Feature
After a long search, I finally found an elegant way to do it.
-
Some Use Cases for Configuration Files in a Linux Environment
Custom Linux Commands: Simplify Your Workflow and Boost Efficiency
-
Linux Environment Configuration Files (Startup Files)
## Differences Between `.bash_profile` and `.bashrc` I’ve run into this question a lot: what’s the difference between `.bash_profile` and `.bashrc`? In short: - **`.bash_profile`** is executed for **login shells** - **`.bashrc`** is executed for **interactive non-login shells** ### When does `.bash_profile` run? `.bash_profile` is typically loaded when you log in, for example: - Logging in via SSH - Logging in on a TTY (local console) - Opening a terminal that starts a **login shell** (depends on your terminal settings) Because it runs once per login session, it’s commonly used for things like: - Setting environment variables (`PATH`, `JAVA_HOME`, etc.) - Running commands that should only happen once per session ### When does `.bashrc` run? `.bashrc` is loaded whenever you start an **interactive** Bash shell that is **not** a login shell, for example: - Opening a new terminal tab/window (in many default setups) - Running `bash` from inside an existing shell It’s usually used for: - Aliases (`alias ll='ls -al'`) - Shell functions - Prompt configuration (`PS1`) - Completion and other interactive-only settings ### Common best practice To avoid duplicating configuration, a common pattern is to have `.bash_profile` source `.bashrc`: ```bash if [ -f ~/.bashrc ]; then source ~/.bashrc fi ``` That way, your interactive settings live in `.bashrc`, and login shells still pick them up via `.bash_profile`. ### Quick summary - Use **`.bash_profile`** for **login-only** initialization (environment variables, one-time setup) - Use **`.bashrc`** for **interactive shell** behavior (aliases, prompt, functions)
-
All About Environment Variables on macOS and Linux
A Summary of Common Environment Variable Files
-
The Most Important Stage in Building a Strong Foundation as a Purely Technical Developer
Sharing what I think is the most important phase for a purely technical person (not talking about management or architecture)
Selected articles
Lenovo 510smini mini PC
The naming convention for coding summarized by myself hopefully can give you a reference
Why e-waste often has a second life
Open source software
Automatically caching method data annotations