What you are running into is a classic misunderstanding of current working directory in relation to a process. Your shell process has a working directory which is inherited by any process (command) that is started by the shell. The child process may change its current working directory, but that will not affect the shell's current working directory. If you think about it, it doesn't make any sense for a child process to mess with the parent's environment.
While the cd command doesn't look any different than a normal command, it is a shell 'built-in' which in other words is a directive to the shell causing the shell to change it's environment, and does not cause a child process to be created. This is how you are able to cause the current working directory to change in the shell.
If you are looking to perform some operation given a username@hostname:path , and have the results of the operation go into the directory on the local system using just path , then just write a script to do it. If you want the current working directory to be changed in the local shell after the command has executed, unless there is magic that I am unaware of, it cannot be done.
Here's an example of a script that will suss out the path, change the directory to the path, and then copy via scp all files from the matching path on the remote machine to the local host. It' may not be exactly what you are looking for, but it will give you an idea of how to go forward.
#!/usr/bin/env ksh
# assume $1 entered on the command line and is [user@]hostname:path
d=${1#*:} # cut everything up through the first colon (:)
if ! cd ${d:-empty-path-given}
then
echo "unable to switch to: ${d:-empty-path-given}"
exit 1
fi
# copy from host:directory supplied on command line to current directory
scp $1/'*' .
exit $?
If you save the script in a file ($HOME/bin/copy_from for example), then this command will run the script and copy the files to the path /tmp/foo/bar:
It works just as a script sourced in the shell with functions and sourcing makes the function call available in the shell...
Normally, .aliases is sourced when you log in. i.e. you should/will find this piece of code . ~/.aliases in your ~/.profile or ~/.bashrc depending on your shell