Saya tidak akan merekomendasikan menggunakan alias Bash untuk apa yang ingin Anda capai. Anda bisa memasukkan semua informasi ke file konfigurasi SSH dan selesai dengan itu. Baca halaman manual untuk ssh_config
jika Anda ingin tahu dari mana ini berasal. Anda dapat melakukan beberapa hal dengan rapissh_config
File tersebut terletak di sini ~/.ssh/config
Gunakan editor favorit Anda dan buat file lalu sesuaikan dengan situasi Anda.
Host nameOfBashAlias
HostName 11.11.11.11
User myUsername
Port 22
Anda sekarang siap untuk mengeluarkan perintah berikut:
$ ssh nameOfBashAlias
Yang saya yakin Anda tidak tahu adalah seberapa terintegrasi semua ini. Sekarang setelah Anda memiliki pengaturan ini, perintah berikut juga berfungsi
$ scp /some/file nameOfBashAlias:/path/to/storage/location/
Tidak lagi mengingat bahwa scp menggunakan "-P" untuk port dan ssh menggunakan "-p". Juga "alias" ini juga berfungsi di aplikasi OS X gui seperti Transmit.
OpenSSH memperoleh data konfigurasi dari sumber-sumber berikut dalam urutan sebagai berikut:
- opsi baris perintah
- file konfigurasi pengguna
~/.ssh/config
- file konfigurasi seluruh sistem
/etc/ssh_config
scp
tidak menjalankan bash. Anda perlu menjalankan ini:Jika yang Anda miliki hanyalah alias dan kode di atas tidak memungkinkan untuk Anda, pertimbangkan untuk menjalankannya seperti ini:
Dengan cara ini, Anda benar-benar memohon
ssh
dan mengarahkan konten file ke file di disk. Ini dapat ditulis dengan cara lain untuk unggahan.sumber
Alias diganti ketika mereka adalah kata pertama dari perintah bash. Alias Anda muncul di awal kata ketiga.
Saya akan menggunakan variabel shell untuk ini.
Btw, saya pikir alias asli Anda seharusnya tidak memiliki ssh di dalamnya. Dan contoh kode terakhir memiliki> di dalamnya yang terlihat salah juga.
sumber
Tidak, contoh Anda tidak akan berfungsi, karena itu bukan cara
BASH
kerja alias. Saya sarankan Anda menggunakan variabel. Letakkan ini di~/.profile
atau~/.bashrc
[mana pun yang Anda gunakan]:site="[email protected]"
kemudian di terminal Anda, ini akan berfungsi:
scp favicon.ico $site:/dir/
Atau Anda dapat menulis skrip seperti yang saya lakukan untuk iPod saya. di bashrc saya
ipod=192.168.2.60
, kemudian di skrip sayasource ~/.bashrc
sehingga mendapat variabel saya di skrip, kemudian di skrip:scp $1 $ipod
downside adalah saya harus mengedit skrip untuk melakukan rekursif. dan saya hanya bisa melakukan 1 file. tetapi ketika saya membutuhkan keduanya saya biasanya menggunakan
scp
langsung dari terminal!~ Mat
sumber