Bisakah saya "mengekspor" alias ke SHELL yang menggunakan skrip?

14

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 ...?

RonK
sumber
Apakah Anda memasukkannya ke aliasdalam ~/.cshrcfile Anda ?
qweet
@qweet - Itu bukan tujuan saya - Saya ingin sesuatu yang dinamis.
RonK

Jawaban:

18

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 sourcesehingga shell saat ini memproses file skrip Anda (tanpa memulai proses baru).

Matteo
sumber
2
Terima kasih - itulah yang saya pikirkan - saya akan menambahkan alias ke .alias yang akan source myscriptsaya - saya ingin sesuatu yang mudah yang bisa dibagikan oleh semua anggota tim - alias akan melakukannya.
RonK