I like adding a backup function to .profile that can take a file or list of files as an argument and make a copy with a date suffix on the file name, and same date additional backups just add a character like ~ at the end. It’s in version control, but if I’m testing a change it’s just faster to restore the file from a copy in the same place.
Obligatory note that /etc/profile and ~/.profile are only run by login shells, and many terminal emulators do not execute a login shell by default.
Unfortunately, there is no standard secondary place* that all shells execute, so check your chosen shell’s manual for what it does run on startup and put your functions into one of those. Preferably one that goes in your homedir.
Alternatively have that file source ~/.profile assuming that won’t cause an infinite loop.
* And not even a primary if you count *csh, but if you use those you have other problems.
I like adding a backup function to .profile that can take a file or list of files as an argument and make a copy with a date suffix on the file name, and same date additional backups just add a character like ~ at the end. It’s in version control, but if I’m testing a change it’s just faster to restore the file from a copy in the same place.
i so agree. i have a script that copies all file arguments into the directory
.backups/YYYY-mm-DD-HHMM/
… handy for risky git operations too.Obligatory note that
/etc/profile
and~/.profile
are only run by login shells, and many terminal emulators do not execute a login shell by default.Unfortunately, there is no standard secondary place* that all shells execute, so check your chosen shell’s manual for what it does run on startup and put your functions into one of those. Preferably one that goes in your homedir.
Alternatively have that file source
~/.profile
assuming that won’t cause an infinite loop.* And not even a primary if you count
*csh
, but if you use those you have other problems.