当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 13 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-12 16:17 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
我最近才刚刚开始接触linux,为了调通一个cmu大学的目标检测程序。
其中有一行代码是在matlab下运行:
[tmp,lenstring]=unix(/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration)
最后的返回值老是有问题,
我就把unix(/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration)直接在terminal中运行
发现报错:bash: syntax error near unexpected token `/usr/bin/ffmpeg'。查了一下之后,说是语法问题。。。请问,unix不认这个路径么?还是什么问题?
谢谢!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-12 16:21 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
带unix()干嘛


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-12 17:33 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
eexpress 写道:
带unix()干嘛

那个程序当中需要的,下载下来就是这样。。。如果不用unix,可以怎么改?这个代码是matlab中的,意思是unix下运行后面那句话


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-12 17:44 
头像

注册: 2010-06-16 1:05
帖子: 14668
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
把前面的unix(和最后的)删掉。


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-12 19:18 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
枫叶饭团 写道:
把前面的unix(和最后的)删掉。

由于我是需要在matlab里运行这个命令:/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration。如果直接去掉的话,是没法执行的


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-12 20:48 
头像

注册: 2011-05-02 19:08
帖子: 583
系统: ubuntu 12.04
送出感谢: 2
接收感谢: 41
matlab下运行shell命令:

1、感叹号+命令
代码:
!/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration

2、unix(注意command要加单引号)
代码:
Syntax:
unix command
status = unix('command')
[status, result] = unix('command')
[status,result] = unix('command','-echo')


不过在我这里运行的结果:
代码:
unix('ffmpeg')
ffmpeg: error while loading shared libraries: libraw1394.so.8: cannot open shared object file: No such file or directory

在终端下是正常的。好像要想办法配置一下matlab的动态链接库。解决方法:
代码:
sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 9:36 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
wjchen 写道:
matlab下运行shell命令:

1、感叹号+命令
代码:
!/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration

2、unix(注意command要加单引号)
代码:
Syntax:
unix command
status = unix('command')
[status, result] = unix('command')
[status,result] = unix('command','-echo')


不过在我这里运行的结果:
代码:
unix('ffmpeg')
ffmpeg: error while loading shared libraries: libraw1394.so.8: cannot open shared object file: No such file or directory

在终端下是正常的。好像要想办法配置一下matlab的动态链接库。解决方法:
代码:
sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8



您好,非常感谢您的回答~我这的目的是在matlab下可以运行这个代码,在我运行[tmp,lenstring] = unix('/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration')的时候,是可以的,但是返回值不对,lenstring是空的,tmp是1。而我在运行您在前面所说的前面加!的方法,运行不出错,但是没有返回值啊,什么反应都没有。。。
请问这个返回值不对是什么意思?
我在terminal下运行/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration的时候,是没问题的,能显示:Duration: 00:03:38.96, start: 0.000000, bitrate: 4005 kb/s。
是否是matlab调用出问题?
谢谢!


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 10:57 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
wjchen 写道:
matlab下运行shell命令:

1、感叹号+命令
代码:
!/usr/bin/ffmpeg -i "/home/ly/Documents/movie/AVSS_AB_Easy_Divx.avi" 2>&1 | grep Duration

2、unix(注意command要加单引号)
代码:
Syntax:
unix command
status = unix('command')
[status, result] = unix('command')
[status,result] = unix('command','-echo')


不过在我这里运行的结果:
代码:
unix('ffmpeg')
ffmpeg: error while loading shared libraries: libraw1394.so.8: cannot open shared object file: No such file or directory

在终端下是正常的。好像要想办法配置一下matlab的动态链接库。解决方法:
代码:
sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8


我在运行matlab中运行unix('ffmpeg')后也出现了ffmpeg: error while loading shared libraries: libraw1394.so.8: cannot open shared object file: No such file or directory
但是在终端中sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8之后,仍然ffmpeg: error while loading shared libraries: libraw1394.so.8: cannot open shared object file: No such file or directory。我查了下我的目录,并没有/usr/lib/libraw1394.so ,只有/usr/lib/libraw1394.so.11 和/usr/lib/libraw1394.so.11.0.1,
请问,是应该把sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8 中前面路径中的/usr/lib/libraw1394.so 的给改了么?


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 12:28 
头像

注册: 2011-05-02 19:08
帖子: 583
系统: ubuntu 12.04
送出感谢: 2
接收感谢: 41
引用:
是应该把sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8 中前面路径中的/usr/lib/libraw1394.so 的给改了么


是的,改成/usr/lib/libraw1394.so.11 或/usr/lib/libraw1394.so.11.0.1


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 14:24 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
wjchen 写道:
引用:
是应该把sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8 中前面路径中的/usr/lib/libraw1394.so 的给改了么


是的,改成/usr/lib/libraw1394.so.11 或/usr/lib/libraw1394.so.11.0.1


试了下还是不行啊,在root用户下输入了
ln -s /usr/lib/libraw1394.so.11.01 /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8
回到matlab
运行 unix('ffmpeg')
还是ffmpeg: error while loading shared libraries: libraw1394.so.8: cannot open shared object file: No such file or directory

ans =

127
。。。
这是为什么。。。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 17:11 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
wjchen 写道:
引用:
是应该把sudo ln -s /usr/lib/libraw1394.so /usr/local/MATLAB/R2010b/sys/os/glnx86/libraw1394.so.8 中前面路径中的/usr/lib/libraw1394.so 的给改了么


是的,改成/usr/lib/libraw1394.so.11 或/usr/lib/libraw1394.so.11.0.1


改了连接后,我运行:[s,d]=unix('ffmpeg')
错误:
s =

1


d =

ffmpeg: /usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)
ffmpeg: /usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)

这是什么问题?我缺少glibcxx?
多谢多谢!


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 18:52 
头像

注册: 2011-05-02 19:08
帖子: 583
系统: ubuntu 12.04
送出感谢: 2
接收感谢: 41
引用:
ffmpeg: /usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)
ffmpeg: /usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)

这是什么问题?我缺少glibcxx?
多谢多谢!



打开matlab,输入mbuild -setup,选择第一项,然后再试试。
如果不行,可以再试试把/usr/local/MATLAB/R2010b/sys/os/glnx86/中以libstdc++.so开头的文件暂时移开,重启matlab再试试。
还有第三种办法,用/usr/lib/i386-linux-gnu/libstdc++.so.6.0.16(不知你这里是不是这个路径和版本)替换/usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6这个软链接的指向目标。

哦忘了说了,如果你是64位的应该改成glnx64……



_________________
评价: 3.7% coolnacl
 
页首
 用户资料  
 
13 楼 
 文章标题 : Re: 求教,遇到bash: syntax error near unexpected token 的问题
帖子发表于 : 2012-03-13 21:27 

注册: 2012-02-14 16:34
帖子: 17
送出感谢: 1
接收感谢: 0 次
wjchen 写道:
引用:
ffmpeg: /usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)
ffmpeg: /usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0)

这是什么问题?我缺少glibcxx?
多谢多谢!



打开matlab,输入mbuild -setup,选择第一项,然后再试试。
如果不行,可以再试试把/usr/local/MATLAB/R2010b/sys/os/glnx86/中以libstdc++.so开头的文件暂时移开,重启matlab再试试。
还有第三种办法,用/usr/lib/i386-linux-gnu/libstdc++.so.6.0.16(不知你这里是不是这个路径和版本)替换/usr/local/MATLAB/R2010b/sys/os/glnx86/libstdc++.so.6这个软链接的指向目标。

哦忘了说了,如果你是64位的应该改成glnx64……


哥们,你是神!移除的方法是好用的! :em11


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 13 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译