0

我正在尝试制作一个调用 sftp 的简单 bash 脚本。

在交互模式下,每当用户在文件上使用“放置”时,我都想在该文件上回显一些元数据信息。

我正在 tldp.org 上阅读 Bash Guide for Beginners,但我很清楚如何编写一个 if 语句来检查用户何时点击“put”命令。

谢谢。

编辑:添加了一些基本代码和详细说明。

#!/bin/bash

sftp 133.43.453.132 # I made up this IP for demonstration purposes
while True
do
if [user uses 'put' to a transfer a file to remote server] # New to bash so I don't know how to express this.
    then
        echo "Random stuff"
fi
done

所以基本上,我该如何写这个 if 条件?

4

1 回答 1

1

一种天真的方法可能是

#!/bin/bash
sftp 133.43.453.132 | tee /dev/tty |
while read prompt command argument1 rest
do
    case $command in put) echo "Random stuff";;
    esac
done
  • 为了解决命令行编辑或输出排序等问题,至少需要一个比tee /dev/tty所需更复杂的过滤器。
于 2013-08-06T13:30:49.717 回答