我正在尝试创建一个执行以下任务的 shell 脚本:
- 从 Linux Box A 连接到 Linux Box B
- 获取最新的 5 个 prop.jar 文件列表
- 将此列表以序列号 1 到 5 呈现给用户并要求用户输入
- 用户可以输入从 1 到 5 的任何数字。对于任何其他数字,应显示错误
- 一旦用户输入正确的数字,这个 jar 文件应该从 B 复制到 A
由于我是 shell 脚本的新手,所以我的速度有点慢。我学到的是:
- 要从盒子 A 连接到盒子 B,我将使用 ssh
- 我从我的 shell 脚本中运行了一个命令:ssh user@host find -name 'prop*.jar'这个命令给了我所需文件的列表
- 但是,当我尝试命令时:
ssh user@host find -name 'prop*.jar' -printf '%C@ %p\n' | 排序-rn | 头 -n 5
我收到错误- 查找:路径必须在表达式之前:%pn
我哪里错了。我用谷歌搜索并尝试了许多变体,但 shell 脚本仍然抛出这个错误。我不会询问其余步骤的答案,因为我还没有尝试过。但可以肯定的是,这一步已经消耗了我。
编辑: 我刚刚想出了如何从远程框 B 复制到框 A:
- scp -o StrictHostKeyChecking=no [[user@]from-host:]source-file [[user@]to-host:][destination-file]
但原来的问题仍然存在....任何帮助:(