Ich versuche, ein Dienstprogramm-Skript zu schreiben, das bestimmte Aliase definiert.
Meine SHELL ist tcsh
(kann das nicht ändern).
Ich habe folgendes versucht
#!/bin/tcsh
alias log 'less ~/logs/log.`date '+%Y%m%d'`''
Dann führe ich es so aus:
./myscript
log
Die Ausgabe, die ich bekomme, ist: log: Command not found.
Natürlich, wenn ich es so laufen lasse:
source myscript
log
Alles ist gut.
Wie kann man das ohne Angabe machen source ...
?
shell-script
alias
tcsh
RonK
quelle
quelle
alias
in deine~/.cshrc
Akte aufgenommen?Antworten:
Das kannst du nicht. Durch Ausführen Ihres Skripts führen Sie eine neue Shell aus. Aliase werden vom übergeordneten Prozess nicht angezeigt.
Wie bereits erwähnt, wird nur verwendet,
source
damit die aktuelle Shell Ihre Skriptdatei verarbeitet (ohne einen neuen Prozess zu starten).quelle
source myscript
- ich wollte etwas Einfaches, das von allen Teammitgliedern geteilt werden kann - ein Alias wird es tun.