0

我希望能够输入:

myscpalias ~/file.txt .

为了执行这个命令:

scp myusername@server.com:~/file.txt .


我也不确定如何处理以下内容。我想输入:

cd mypath
#or something like:
scp mypath/file.txt myusername@server.com:~/folder

为了真正做到:

cd /blah1/blah2/blah3/ 
#or something like:
scp /blah1/blah2/blah3/file.txt myusername@server.com:~/folder

我一直无法让别名这样做。我什至需要别名还是应该使用函数?我已经尝试了很多东西的组合,但我无法让它发挥作用。我在 OSX Lion 上并将别名放在我的 .profile 文件中。很感谢任何形式的帮助。提前致谢。

4

1 回答 1

0

如果您的 shell 是bash(默认),那么别名语法是这样的:

alias myalias='this is my command'

例如:

alias dir1='cd /blah1/blah2/blah3/'

...将允许您键入dir1以执行上述cd命令。

没错,函数也是一种选择,它们可能更适合更复杂或多行的东西,例如参数化的scp.

例如:

myscpalias() {
  host=$1
  dir=$2
  # should add error checking, such as:
  if [ "x$host" = "x" ] ; then
    echo "host is required" >&2
  else
    scp myusername@server.com:${host} ${dir}
  fi
}
于 2012-08-02T07:27:48.297 回答