【问题标题】:not able to move files using rename command in sftp无法在 sftp 中使用重命名命令移动文件
【发布时间】:2014-08-19 12:38:21
【问题描述】:

我有一个 sftp 脚本,它首先将所有 .seq 文件移动到 temp 文件夹,然后使用 mget 命令,然后删除它们。下面是脚本的 sftp 部分。

sshpass -p red32hat sftp $userID@$serverIP <<EOF
cd /root/perl
rename *.seq /root/perl/temp/*.seq
cd ./temp
mget *.seq
rm *seq
bye
EOF

现在我在移动文件时遇到重命名命令的问题...因为我们可以使用以下命令移动一个文件。

rename geetika.seq /root/perl/temp/geetika.seq

但在移动所有 seq 文件时,它不允许运行以下命令并引发错误。找不到文件“/root/perl/temp/*.seq”。

rename *.seq /root/perl/temp/*.seq

我也没有找到任何方法一次获取一个文件并在 sftp 中重命名它。如果任何一种方法是可能的,请提供帮助(一次所有文件或一个一个...)

【问题讨论】:

  • 更改:“重命名 *.seq /root/perl/temp/*.seq”为“重命名 *.seq /root/perl/temp/”
  • 它不接受它...抛出错误...“无法将文件“/root/perl/*.seq”重命名为“/root/perl/temp”:没有这样的文件或目录”

标签: shell unix sftp


【解决方案1】:

尝试改变

rename *.seq /root/perl/temp/*.seq

到

!mv /root/perl/*.seq /root/perl/temp/

来自 sftp 的帮助:

!command - 在本地执行“命令” 贝壳

【讨论】:

  • 嗨..我试过了,但它给了我这个错误......“mv:访问`/root/perl/temp':权限被拒绝”我什至试图给临时目录777权限但是遇到同样的错误...请帮助...谢谢
  • 你可以在不使用 sftp 的情况下在常规终端中执行命令“mv /root/perl/*.seq /root/perl/temp/”吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-02
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
相关资源
最近更新 更多