GNU watch - how do I make it read my environment (aliases, functions, etc)
This one has been bugging me for a while: I want to use the marvelous GNU watch
command to run a few custom aliases and functions that are defined in my .bashrc, but it is never able to run anything except bash built-ins or binaries.
watch -d foo
The output is always: foo: command not found
How can I make it inherit my environment or use the .bashrc?
Thank you.
Do something like this watch bash -i -c 'alias -p'
this should call bash, load your settings and then run whatever command you have after the -c
From man watch
:
Note that command is given to "sh -c"
So it's not going to see your Bash aliases and functions.