Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Uh do aliases load in non-interactive shells?


Create a wrapping binary instead

    mkdir -p ~/.local/bin
    printf '#!/usr/bin/env sh\nexec android-cli --no-metrics "$@"' > ~/.local/bin/android-cli
    echo 'PATH="$HOME/.local/bin:$PATH"' >> ~/.zshenv


I'm pretty sure this will just call itself in a loop. You need to use the absolute path to the wrapped binary to distinguish it from the wrapper.


Also it's not a binary :-)


Aah! Yes absolutely right! Using `exec command android-cli` would work I believe


Nope. I have this alias (a default on my distribution) and it's no loop:

    alias ls='ls --color=auto'


Creating an alias is not the same as putting an executable in your $PATH.


That's true. So an alias won't do it if you use that tool from a script or something.


You could export BASH_ENV to have Bash processes source a given file at startup.

Zsh has .zshenv, and Fish just has config.fish for everything with the ability to guard certain things within it to login only or non-interactive only.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: