Tar 通过 SSH 的长选项问题
Tar issue with long option through SSH
我正在使用 ssh 连接取消存档远程 tar.gz,但我在使用 −−no−same−owner
时遇到错误。
这是命令:
ssh -i "$SERVER_KEY" -C "$SSH_STRING" -p "$SERVER_PORT" "tar -xf '/path/to/archive.tar.gz' -C '/path/to/unarchive' −−no−same−owner";
我收到以下消息:
tar: 202202no202same202owner: Not found in archive
tar: Exiting with failure status due to previous errors
没有这个选项,它工作正常,运行它在 ssh 控制台上也工作正常。
注意:我正在 Windows 工作站上的 2 个 Virtualbox 虚拟机上的 2 个 Ubuntu 服务器之间执行这些命令。
您的“−−no−same−owner”字符串中的破折号是 UTF-8 unicode minus 字符:
% echo '−−no−same−owner' | od -t x1c
0000000 e2 88 92 e2 88 92 6e 6f e2 88 92 73 61 6d 65 e2
− ** ** − ** ** n o − ** ** s a m e −
0000020 88 92 6f 77 6e 65 72 0a
** ** o w n e r \n
0000030
"e2 88 92"是U+2212的UTF-8编码,减号。
Tar 没有将“−−no−same−owner”识别为命令行选项,因为它不是以通常标记命令行选项的 ASCII dash 开头.而是将其视为文件名。
也许您从文字处理文档中复制并粘贴了“−−no−same−owner”?
我正在使用 ssh 连接取消存档远程 tar.gz,但我在使用 −−no−same−owner
时遇到错误。
这是命令:
ssh -i "$SERVER_KEY" -C "$SSH_STRING" -p "$SERVER_PORT" "tar -xf '/path/to/archive.tar.gz' -C '/path/to/unarchive' −−no−same−owner";
我收到以下消息:
tar: 202202no202same202owner: Not found in archive
tar: Exiting with failure status due to previous errors
没有这个选项,它工作正常,运行它在 ssh 控制台上也工作正常。
注意:我正在 Windows 工作站上的 2 个 Virtualbox 虚拟机上的 2 个 Ubuntu 服务器之间执行这些命令。
您的“−−no−same−owner”字符串中的破折号是 UTF-8 unicode minus 字符:
% echo '−−no−same−owner' | od -t x1c
0000000 e2 88 92 e2 88 92 6e 6f e2 88 92 73 61 6d 65 e2
− ** ** − ** ** n o − ** ** s a m e −
0000020 88 92 6f 77 6e 65 72 0a
** ** o w n e r \n
0000030
"e2 88 92"是U+2212的UTF-8编码,减号。
Tar 没有将“−−no−same−owner”识别为命令行选项,因为它不是以通常标记命令行选项的 ASCII dash 开头.而是将其视为文件名。
也许您从文字处理文档中复制并粘贴了“−−no−same−owner”?