Qualquer um desses trabalhos. Bash, ruby, python, perl, todos eles vêm com o sistema. Faça como você sabe.
Eu tenho que escrever essas linhas com frequência:
# from project1 dir
scp app/models/user.rb [email protected]:/var/www/project1/app/models
# from project2 dir
scp app/views/posts/index.html.erb [email protected]:/var/www/project2/app/views/posts
scp -r app/mailers [email protected]:/var/www/project2/app/
então quero envolvê-lo como um script
scpd project1 app/models/user.rb
scpd project2 app/views/posts/index.html.erb
scpd project2 -r app/mailers
então scpd
irá passar todas as opções para scp e tomar o primeiro argumento como um dirname no caminho /var/www/
do servidor.
Então a questão é: o que é uma maneira comum de escrever scripts de terminal em macos? E alguns links para ler sobre isso. Bater? E talvez eu possa escrever em Ruby? :)
Aqui está uma função bash para você:
scpd () {
# the first argument is the project
# the last argument is the file/dir to send
# any arguments in the middle are scp options
args=( "$@" )
proj="${args[0]}"
file="${args[@]: -1}"
scp_args=( "${args[@]): 1: $(( ${#args[@]} - 2 ))}" )
remote_dir="${file%/*}"
scp "${scp_args[@]}" "$file" "[email protected]:/var/www/$proj/$remote_dir"
}
Você pode colá-lo em seu ~ / .bashrc