首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将fswatch输出通过管道传输到shell脚本

将fswatch输出通过管道传输到shell脚本
EN

Stack Overflow用户
提问于 2016-09-08 01:19:52
回答 2查看 700关注 0票数 0

我尝试使用以下技术将fswatch的输出通过管道传递给shell脚本中的几个命令:

代码语言:javascript
复制
$ fswatch -0 [opts] [paths] | xargs -0 -n 1 -I {} [command]

我没有输入命令,而是输入了shell脚本路径。下面是我的命令行:

代码语言:javascript
复制
fswatch -0 -Ie ".*\.*$" -i ".*\.mp4$" ~/Desktop/encoding\ tests | xargs -0 -n 1 -I {} ~/Desktop/s3cmd.sh

脚本如下:

代码语言:javascript
复制
#!/bin/sh 
terminal-notifier -message "s3cmd Upload {}" ; 
s3cmd sync --acl-public -m video/mp4 --add-header=Cache-Control:public,max-age=2052000 {} s3://saltanat-test/ && 
terminal-notifier -message "s3cmd Upload of {} done"

对不起,我没有使用shell脚本的经验。如何将fswatch输出通过管道传输到脚本中?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-12-28 19:08:51

代码语言:javascript
复制
#!/bin/bash
fswatch -0 -x --event Created --event Updated --event Renamed -Ie '.*\.*$' -i '.*\.mp4$' ~/Desktop/encoding\ tests \
     | xargs -0 -n 1 ~/Desktop/s3cmd-3.sh

这是可行的。谢谢。

票数 0
EN

Stack Overflow用户

发布于 2018-06-14 15:49:50

对于未来有这个问题的任何人:

fswatch命令:

代码语言:javascript
复制
fswatch -0 /path/to/watch | xargs -0 -n 1 -I {} ~/yourfile.sh {}

.sh文件:

代码语言:javascript
复制
#!/bin/bash
echo $1

现在,$1将等于fswatch的输出,fswatch是更改的文件的完整路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39375862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档