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


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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.