我在我登录的Linux服务器上创建文件,并且我添加了用户将这些文件从Linux服务器下载到连接计算机的功能。我正在编写脚本并使用scp命令下载这些文件:
scp data.txt user@usraddress:/home/usr
但是,我不想指定" user @ usraddress:/ home / usr"只是我的电脑。我希望登录到linux服务器的人能够下载这些文件。有没有办法获取连接计算机的地址? 我该怎么做?
请原谅我,如果这看起来很简单,我对脚本来说非常陌生。
答案 0 :(得分:2)
当您在GNU / Linux计算机中打开远程会话时,ssh服务器会使用一些连接信息设置环境变量SSH_CONNECTION
。您可以使用此变量和$USER
变量来填充参数:
scp data.txt $USER@${SSH_CONNECTION%% *}:/home/$USER
请注意,据我所知,您无法假设客户端主目录位于/home
。如chepner所述,您可以省略目标目录以使用默认位置,即主目录。
scp data.txt $USER@${SSH_CONNECTION%% *}: