.bashrchanya dibaca jika shell bersifat interaktif.
user4556274
1
Dengan alias Anda lebih dari ssh, mungkin tidak akan ada warna, di mana jika Anda mengubah alias Anda alias l.='ls -d .* --color'maka warna akan muncul. Saya pikir saya akan menambahkan itu. Setidaknya saya mengalaminya.
Terrance
@Terrance Saya bertanya-tanya tentang itu ... Saya masih tidak mendapatkan warna (dan tidak ada kolom) walaupun saya mendapatkan warna (dan kolom) seperti sebelumnya setelah mengubah alias (dan melakukan source .bashrc)
Zanna
1
ah ha! Saya rasa saya mengerti. Coba alias Anda sebagai alias l.='ls -dC .* --color'tempat Ckolom ditampilkan.
Terrance
1
Saya mengedit jawaban untuk mengatasi masalah warna.
Matei David
Jawaban:
10
Mencoba:
ssh localhost -t bash -ci l.
catatan:
Alias harus ada di ~/.bashrcserver jarak jauh, bukan di mesin lokal Anda.
The -ipilihan memberitahu bashuntuk menjalankan shell interaktif. Alias diaktifkan secara default hanya di shell interaktif.
The -tpilihan memberitahu sshmengalokasikan pseudo-tty. Tanpa ini, bashmemancarkan pesan peringatan ketika dimulai dalam mode interaktif. Ini juga memungkinkan lswarna. Tanpanya, Anda harus menggunakan --color=always, lihat man ls.
Ada cara lain untuk mengaktifkan alias, tanpa mengatur bendera interaktif, yaitu shopt -s expand_aliases. Jadi Anda bisa mencoba:
.bashrc
hanya dibaca jika shell bersifat interaktif.alias l.='ls -d .* --color'
maka warna akan muncul. Saya pikir saya akan menambahkan itu. Setidaknya saya mengalaminya.source .bashrc
)alias l.='ls -dC .* --color'
tempatC
kolom ditampilkan.Jawaban:
Mencoba:
catatan:
Alias harus ada di
~/.bashrc
server jarak jauh, bukan di mesin lokal Anda.The
-i
pilihan memberitahubash
untuk menjalankan shell interaktif. Alias diaktifkan secara default hanya di shell interaktif.The
-t
pilihan memberitahussh
mengalokasikan pseudo-tty. Tanpa ini,bash
memancarkan pesan peringatan ketika dimulai dalam mode interaktif. Ini juga memungkinkanls
warna. Tanpanya, Anda harus menggunakan--color=always
, lihatman ls
.Ada cara lain untuk mengaktifkan alias, tanpa mengatur bendera interaktif, yaitu
shopt -s expand_aliases
. Jadi Anda bisa mencoba:Namun:
Anda
.bashrc
mungkin hanya mendefinisikan alias jika shell sumbernya interaktif. Dalam contoh ini, shell tidak akan interaktif pada saat itu.Jika Anda mencoba mendefinisikan alias pada baris yang sama, lihat ini .
sumber
ssh
sendiri :)ssh
. Ya, denganlocalhost
itu bukan masalah.ssh ... <cmd>
keluar saat<cmd>
selesai. Jika Anda ingin menyimpan cangkang setelahnyals
, cobassh localhost -t 'bash -ci "l.; exec bash"'
.