【发布时间】:2013-06-05 12:45:22
【问题描述】:
当我执行 unison tours 2> /dev/null | grep -A 2 '' 在 bash 提示符下,我得到了我正在寻找的确切输出:
*changed <-?-> changed Future Tours/File Clash Test.docx
local : changed file modified on 2013-06-05 at 16:24:40 size 10221 rw-rw----
bj-server... : changed file modified on 2013-06-05 at 16:23:53 size 10232 rw-rw----*
当我把它放到一个 shell 脚本中时:
#!/bin/bash
tmp=$(unison tours 2> /dev/null | grep -A 2 '<-?->')
echo "$tmp" > /home/users/itsystem/test.log
...结果很奇怪。运行 more test.log ,我得到以下信息:
- 系统表/反馈她
哎呀).xls
|过去的旅行/2012/CE0
12 樱桃(N...我们的菜单/丽江旅游菜单.xls
- 过去的旅行/2012/UC041112 St
- Past Tours/2012/UC081112 Lopata (N... Menus - UC081012 Lo
2/VC110912 Levin (VI)...菜单 - VC110912 Levin (VI).xlsx
xlsx
|未来之旅/2013 未来
/查询/优秀/特伦斯公园...行程(Trev
改变 改变 Future Tours/File Clash Test.docx
本地:更改文件于 2013 年 6 月 5 日 16:24:40 修改,大小 10221 rw-rw----
bj-server ...:更改文件于 2013 年 6 月 5 日 16:23:53 修改,大小 10232 rw-rw----
另一个废话是从哪里来的?
如果你只是简单地运行 unison 那么你确实会得到一个 animated 一行输出,它会不断刷新,旋转 -\|/ 显示工作文件夹,但是最终消失。
如果我的 grep 在 bash 提示符下工作,为什么不能从 shell 脚本中工作?
【问题讨论】: