Defina o diretório de destino com o sinalizador em 'scp' ou 'rsync' (como 'cp -t')

0

Como geralmente estou copiando um número variável de arquivos específicos para um diretório de destinos (bastante complicado) pela rede, minha vida seria muito mais fácil se eu pudesse usar o sinal cp -t : Com ele , você pode especificar o diretório de destino "no início" e não como o argumento final.

Dessa forma, eu poderia CTRL-R ao meu comando de cópia e, em seguida, CTRL-W dos arquivos previamente copiados, enquanto deixava o sistema eo diretório de destino de instalação e destino (complexos) independentemente de quantos arquivos havia anteriormente. / p>

Mas não consigo encontrar nenhum sinalizador de ajuste nem para scp nem para rsync . (Eu também usaria, se um deles oferecesse essa opção.)

O scp ou rsync oferece algo parecido com cp -t ?

Em meu desespero, eu até brinquei com o controle de histórico de bash , os mecanismos de extração de argumentos em particular: Infelizmente, não parece ser possível especificar intervalos na forma de "o x -th argumento para o último-mas-um ", o que eu precisaria, pois nem sempre tenho o número de argumentos (a menos que eu conte ...).

    
por NicApicella 17.11.2017 / 01:15

1 resposta

5

Talvez você possa definir uma função que envolva scp :

scpt () {
    scp "$@" user@host:/some/convoluted/path
}

E então faça

scpt file1
scpt /dir1/file2

Além disso, com a interação de histórico, você pode obter o último argumento do comando scp anterior com !scp:$ , então você também pode fazer:

scp /dir1/file2 !scp:$

(já que o diretório de destino é geralmente o último)

    
por 17.11.2017 / 03:57

Tags