shell脚本创建符号连接的问题
发表于 : 2009-05-29 2:09
由于用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/文件名”: 文件已存在
为什么啊
于是 就写个脚本可以 直接用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/文件名”: 文件已存在
为什么啊