I recently came across this # -*- sh -*- at the top of a file with aliases in them. It was part of someone's dotfiles inside their bash directory and, until now, I've never seen it before. So, what is this and how is it different than using a shebang? I tried googling alternatives to a shebang, but came up with nothing that gives me a hint as to what the above is. 
Bash Aliases and Dotfiles
578 Views Asked by kyle At
1
There are 1 best solutions below
Related Questions in BASH
- When does Bash read heredocs?
- Why `set -o pipefail` gives different output even though the pipe is not failing
- Run an external command within jq to manipulate each values of a particular key
- API key 401 error in .env.development file
- How to "Enable mobile data" on a Huawei E3372 4G USB dongle using a bash script in Windows
- ImageMagick / Bash : pipe ignored(?) when filename format variable used
- MacOS Bash-Script: while read p and echo
- Parse command line arguments and write useful usage message without additional code
- JQ JSON - Values to Array
- why variable substitution is so different?
- postbank_pdf2csv: how to setup with Cygwin in Windows?
- Custom Bash functions & custom statements - Need some advice
- unexpected operator == in square brackets when trying to use gum lib
- How to disable a bash builtin inside a docker container
- Use sed or rename find series of alphabet then replace with with the same alphabet and a dash -
Related Questions in DOTFILES
- Setting up the version control of .dotfiles while the .config is connected to a forked repo
- Failing to evaluate correct path to zshrc file on new terminal window/tab
- Chezmoi: How to ignore a file if its content exists in a different file?
- How do I handle different configuration paths on *nix and Windows with chezmoi?
- Zsh path autocompletion in dotfiles git
- Command to change the value of "Use the Caps Lock key to switch to and from U.S."
- how to move ssh-key related files to another directory?
- Chezmoi: ignore files and subdirectories
- How to move lots of dotfiles staying at /home without breaking programs?
- To solve the issue of managing DOTFILES, why can't we just run "git" inside .config directory?
- How can I manage dotfiles repo push/pull automatically? (or w/ scripts)
- Filter confidential information on git bare repo
- Merge select files in git repo with local repo which don't have any commits
- Bash function argument unexpectedly interpreted as file/directory
- how can dotfile executeable issue on codespace?
Related Questions in ALIASES
- Cannot find module or its corresponding type declarations - react typescript craco
- Terminal Settings: Replace error message of alias
- Order By and Aliases (As)
- Take first argument from alias command and interpolate it to file name extension
- How to find common matches for different column values in SQL
- Is there a way to improve some almost repeated SQL subqueries?
- mysql error! Is it possible to use table variables in mysql?
- How to make aliases with Storybook?
- How come these aliases worked after I closed git bash, but did not work when I tried source ~/.bash_profile
- csh - setting aliases with \!* into a var does not work
- List of aliases of an user with gmail API in PHP
- bash shell script alias expansion not working inside if statement
- Discord.js Aliases
- Angular 11 tsconfig Path Aliases not Recognized
- Laravel : set aliases for column's values
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Files with alias definitions do not need shebang lines, because executing them stand-alone would not add the definitions to the current shell, which is the point of alias definitions.
Instead, files with alias definitions must be sourced (run in the context of the current shell, with
sourceor.).Thus, what you're seeing is just an ordinary comment that indicates what specific shell (
sh) the file is designed to be sourced from.