Can I "export" an alias to the SHELL that invoked a script?
I'm trying to write a utility script that defines certain aliases.
My SHELL is tcsh
(can't change that).
I tried the following
#!/bin/tcsh
alias log 'less ~/logs/log.`date '+%Y%m%d'`''
Then I run it like this:
./myscript
log
The output I get is: log: Command not found.
Naturally if I run it like this:
source myscript
log
Everything is fine.
Any way to do it without specifying source ...
?
Solution 1:
You can't. By running your script you execute a new shell. Aliases will not be seen by the parent process.
The only way as pointed out is using source
so that the current shell processes your script file (without starting a new process).