替换终端中的文本

替换终端中的文本

我正在使用安全复制将一些数据从服务器复制到文件夹(比方说:)。scp [email protected]:/project1/data/ data1/

我的问题是是否可以将服务器地址(在示例中[email protected]:/project1/)保存为更短的形式(例如别名),并使用它而不是全名。例如,我想将地址保存为“prj1”并使用该命令scp prj1/data data1/进行相同的操作。

不幸的是,别名并ls -s不起作用。

是否可以?

谢谢

答案1

你考虑过变量吗?

prj1='[email protected]:/project1'    # Define variable
scp -p "$prj1/data/" data1/         # Use it

或者你可以使用一个函数

prj1scp() { scp -p "[email protected]:/project1/$1" "$2"; }
prj1scp data ~/data1/               # Invoke the function

使用函数比简单别名更强大的原因之一是您可以根据需要使其变得复杂。它可以具有影响其执行方式的参数,或者您可以替换在命令行上提供的参数。

相关内容