Skip to content

Instantly share code, notes, and snippets.

@korya
korya / Login shell vs Subshell.md
Last active November 7, 2025 06:34
.bashrc vs .bash_profile

.profile, .bash_profile, .bashrc. The Long Story.

Traditionally, when you log into a Unix system, the system would start one program for you. That program is a shell, i.e., a program designed to start other programs. It's a command line shell: you start another program by typing its name. The default shell, a Bourne shell, reads commands from ~/.profile when it is invoked as the login shell.

Bash is a Bourne-like shell. It reads commands from ~/.bash_profile when it is invoked as the login shell, and if that file doesn't exist¹, it tries reading ~/.profile instead.

@mdeguzis
mdeguzis / Difference between sh and bash.md
Last active June 26, 2026 05:36
Difference between sh and bash

Source: StackOverflow
By: roman-cheplyaka
Note: Full credit goes to the author and source website you see above.

What is sh

sh (or the Shell Command Language) is a programming language described by the POSIX standard. It has many implementations (ksh88, dash, ...). bash can also be considered an implementation of sh (see below).

Because sh is a specification, not an implementation, /bin/sh is a symlink (or a hard link) to an actual implementation on most POSIX systems.

@anzeljg
anzeljg / curl.md
Created October 16, 2012 12:11 — forked from btoone/curl.md
A curl tutorial using GitHub's API

Introduction

An introduction to curl using GitHub's API

The Basics

Makes a basic GET request to the specifed URI

curl https://api.github.com/users/caspyin
@kmaed
kmaed / zathurarc
Created July 24, 2012 06:08
Emacs like key bindings for zathura
set adjust-open width
map \< goto top
map \> goto bottom
map b navigate previous
map e follow
map f navigate next
map p goto top
map <C-+> zoom in
# This all assumes you have the process running in
# a terminal screen and you're on Linux-like system.
# First off, suspend the process and background it
ctrl-z # suspend the process
bg # restart/continue the process in the background
# Now create files to log to. They can be called anything,
# Personally I would end the in .log. E.g. could be
# /var/logs/myprocess-stdout.log,