当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 2:09 
头像

注册: 2008-11-07 8:41
帖子: 234
送出感谢: 0 次
接收感谢: 0 次
由于用rhythmbox听歌有的时候实在是不爽 比如 有的时候 把网页向下滑动 会使歌曲突然卡了一下
于是 就写个脚本可以 直接用mplayer播放的 既省了图形界面 又高效率
我在我的个人目录下建了一个 song的文件夹 里面存放我所有歌曲的符号连接
创建符号连接的时候 由于有很多音乐文件 所以 必须自然就用到了 批处理
下面是脚本
#! /bin/bash
DIR=/media/windows_multimedia/music /*这个是我的音乐文件夹

link(){
for i in "$elem"/*
do
if [ -d "$i" ] ; then
elem="$i" /*有点困惑的是 如果 没有这句 会出现类似 死循环的问题 不知道为什么
link "$i" /*递归
else
ln -s "$i" "$HOME"/song/
fi
done
}
for elem in "$DIR"/*
do
if [ -d "$elem" ] ; then
link "$elem"
else
ln -s "$elem" "$HOME"/song/
fi
done


我想说的是 不管 我的"$HOME"/song/ 文件夹里有没有已经建立过某些文件的符号连接
运行脚本的结果都是

ln: 创建符号链接 “/home/myname/song/文件名”: 文件已存在

为什么啊


_________________
fall again
smooth criminal
they don't care about us
billie jean
beat it
dangerous
the lost children
childhood
ben
i will be there
speechless
she is out of my life
rock with you
...
LOVE U FOREVER


页首
 用户资料  
 
2 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 2:15 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
代码:
mplayer /media/windows_multimedia/music/* -shuffle -loop 0


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
3 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 2:26 
头像

注册: 2008-11-07 8:41
帖子: 234
送出感谢: 0 次
接收感谢: 0 次
yjcong 写道:
代码:
mplayer /media/windows_multimedia/music/* -shuffle -loop 0

额 我不是问这个啊
我是问上面那个脚本里的 问题啊


_________________
fall again
smooth criminal
they don't care about us
billie jean
beat it
dangerous
the lost children
childhood
ben
i will be there
speechless
she is out of my life
rock with you
...
LOVE U FOREVER


页首
 用户资料  
 
4 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 2:49 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
我这没有任何问题, 你换个
/home/myname/song/
看看


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
5 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 3:06 
头像

注册: 2008-11-07 8:41
帖子: 234
送出感谢: 0 次
接收感谢: 0 次
yjcong 写道:
我这没有任何问题, 你换个
/home/myname/song/
看看


其实 符号连接都可以 很正常 但是 就是 每次 你在命令行 明显可以看到
ln: 创建符号链接 “/home/myname/song/文件名”: 文件已存在

这个地方我不知道 为什么 我试了一下 我把 所有已经创建过的符号连接都删了 重新运行脚本 还是 出现 文件已存在的提示


_________________
fall again
smooth criminal
they don't care about us
billie jean
beat it
dangerous
the lost children
childhood
ben
i will be there
speechless
she is out of my life
rock with you
...
LOVE U FOREVER


页首
 用户资料  
 
6 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 14:32 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
这个递归函数有问题:for i in "$elem"/* 这句不应该用 $elem 应该用 $* 之类来接受参数。
重写脚本,搞清 ln 使用相对路径的情况。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-29 23:33 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
你想要实现的功能是不是:
代码:
find /media/windows_multimedia/music -type f -print0 | xargs -0 ln -t ~/song -s


页首
 用户资料  
 
8 楼 
 文章标题 : Re: shell脚本创建符号连接的问题
帖子发表于 : 2009-05-30 2:00 
头像

注册: 2008-11-07 8:41
帖子: 234
送出感谢: 0 次
接收感谢: 0 次
aerofox 写道:
你想要实现的功能是不是:
代码:
find /media/windows_multimedia/music -type f -print0 | xargs -0 ln -t ~/song -s

你太拽了 恩恩
这个很明显比我的那个好多了 谢谢
但是我的那个 还是没检查出来问题唉 就是那个 总提示“连接已存在”


_________________
fall again
smooth criminal
they don't care about us
billie jean
beat it
dangerous
the lost children
childhood
ben
i will be there
speechless
she is out of my life
rock with you
...
LOVE U FOREVER


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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