Saya mencoba menulis skrip utilitas yang mendefinisikan alias tertentu.
SHELL saya adalah tcsh
(tidak dapat mengubahnya).
Saya mencoba yang berikut ini
#!/bin/tcsh
alias log 'less ~/logs/log.`date '+%Y%m%d'`''
Lalu saya jalankan seperti ini:
./myscript
log
Output yang saya dapatkan adalah: log: Command not found.
Wajar jika saya menjalankannya seperti ini:
source myscript
log
Semuanya baik-baik saja.
Adakah cara untuk melakukannya tanpa menentukan source ...
?
shell-script
alias
tcsh
RonK
sumber
sumber
alias
dalam~/.cshrc
file Anda ?Jawaban:
Kamu tidak bisa Dengan menjalankan skrip Anda, Anda menjalankan shell baru. Alias tidak akan terlihat oleh proses induk.
Satu-satunya cara seperti yang ditunjukkan adalah menggunakan
source
sehingga shell saat ini memproses file skrip Anda (tanpa memulai proses baru).sumber
source myscript
saya - saya ingin sesuatu yang mudah yang bisa dibagikan oleh semua anggota tim - alias akan melakukannya.