This behaves more like 'cp' intuitively.
s3 put local/file s3://.../path uploads to s3://.../path
s3 put local/file s3://.../path/ uploads to s3://.../path/file
s3 put local s3://.../ uploads s3://.../local/...
s3 put local/ s3://.../ uploads s3://.../l...
s3 put local1/file1 local2/file2 s3://.../path - should refuse
s3 put local1/file1 local2/file2 s3://.../path/ - uploads to s3://...path/file[12]
s3 put local1/file1 local2/file2 localpath - should refuse
This behaves more like 'cp' intuitively. s3 put local/file s3://.../path uploads to s3://.../path s3 put local/file s3://.../path/ uploads to s3://.../path/file s3 put local s3://.../ uploads s3://.../local/... s3 put local/ s3://.../ uploads s3://.../l... s3 put local1/file1 local2/file2 s3://.../path - should refuse s3 put local1/file1 local2/file2 s3://.../path/ - uploads to s3://...path/file[12] s3 put local1/file1 local2/file2 localpath - should refuse