[已解决]我这个for循环没有取对字符,能帮帮我吗

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
leo_songwei
帖子: 178
注册时间: 2010-07-01 19:59

[已解决]我这个for循环没有取对字符,能帮帮我吗

#1

帖子 leo_songwei » 2011-08-11 14:34

代码: 全选

#!/bin/bash

#Back ground Auto Changer

for img in `ls ~/图片/Mac\ wall\ paper\ converted/*.jpg`
    do
        echo "$img"
        gconftool-2  -s /desktop/gnome/background/picture_filename -t string "$img" -s  /desktop/gnome/background/picture_options zoom
        sleep 20
    done
希望得到每行为一个值:

代码: 全选

/home/leo/图片/Mac wall paper converted/Resized-Andromeda-Galaxy.jpg
/home/leo/图片/Mac wall paper converted/Resized-Beach.jpg
/home/leo/图片/Mac wall paper converted/Resized-Bristle-Grass.jpg
/home/leo/图片/Mac wall paper converted/Resized-Ducks-on-a-Misty-Pond.jpg
/home/leo/图片/Mac wall paper converted/Resized-Eagle-&-Waterfall.jpg
/home/leo/图片/Mac wall paper converted/Resized-Elephant.jpg
/home/leo/图片/Mac wall paper converted/Resized-Flamingos.jpg
/home/leo/图片/Mac wall paper converted/Resized-Floating-Leaves.jpg
/home/leo/图片/Mac wall paper converted/Resized-Forest-in-Mist.jpg
/home/leo/图片/Mac wall paper converted/Resized-Grass-Blades.jpg
/home/leo/图片/Mac wall paper converted/Resized-Isles.jpg
/home/leo/图片/Mac wall paper converted/Resized-Lake.jpg
/home/leo/图片/Mac wall paper converted/Resized-Lion.jpg
/home/leo/图片/Mac wall paper converted/Resized-Moon.jpg
/home/leo/图片/Mac wall paper converted/Resized-Mt.-Fuji.jpg
/home/leo/图片/Mac wall paper converted/Resized-Pink-Lotus-Flower.jpg
/home/leo/图片/Mac wall paper converted/Resized-Pink-orest.jpg
/home/leo/图片/Mac wall paper converted/Resized-Poppies.jpg
/home/leo/图片/Mac wall paper converted/Resized-Red-Bells.jpg
结果取出了:

代码: 全选

/home/leo/图片/Mac
wall
paper
converted/Resized-Andromeda-Galaxy.jpg
/home/leo/图片/Mac
wall
paper
converted/Resized-Beach.jpg
/home/leo/图片/Mac
wall
paper
converted/Resized-Bristle-Grass.jpg
/home/leo/图片/Mac
wall
paper
converted/Resized-Ducks-on-a-Misty-Pond.jpg
/home/leo/图片/Mac
wall
paper
(每行一个值)
由于取出的字符遇到空格就不连续,所以就Shell向Gnome输出了错误的路径,于是桌面就黑掉了……囧


谁来帮帮我。 :em19 :em19 :em19

#可以用了,谢啦~~
上次由 leo_songwei 在 2011-08-11 20:11,总共编辑 1 次。
MaskRay
帖子: 61
注册时间: 2010-04-29 22:00
系统: Gentoo Linux ~amd64
联系:

Re: 我这个for循环没有取对字符,能帮帮我吗

#2

帖子 MaskRay » 2011-08-11 14:51

代码: 全选

IFS=$'\n'
`ls -1`
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: [已解决]我这个for循环没有取对字符,能帮帮我吗

#3

帖子 fnan » 2011-08-11 21:05

随便改IFS不是好习惯,用while比较合理吧:
ls ~/图片/Mac\ wall\ paper\ converted/*.jpg|while read img
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: [已解决]我这个for循环没有取对字符,能帮帮我吗

#4

帖子 我就是我2 » 2011-08-12 9:26

#!/bin/bash

#Back ground Auto Changer

for img in `ls ~/图片/Mac\ wall\ paper\ converted/*.jpg`
do
echo "$img"
gconftool-2 -s /desktop/gnome/background/picture_filename -t string "$img" -s /desktop/gnome/background/picture_options zoom
sleep 20
done
how about the find command?
:em06
[bash]
#!/bin/bash
while :
do
find ~/图片/Mac\ wall\ paper\ converted/ -name "*.jpg" -print -exec gconftool-2 -s /desktop/gnome/background/picture_filename -t string '{}' -s /desktop/gnome/background/picture_options zoom \; -exec sleep 20 \;
done
[/bash]
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: [已解决]我这个for循环没有取对字符,能帮帮我吗

#5

帖子 gzbao9999 » 2011-08-12 11:49

egg pain
虽然有办法可行
为什么不把文件夹名字中的空格去掉
气血鼓荡,身体发胀,偶飘上头,三时舒畅
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
联系:

Re: [已解决]我这个for循环没有取对字符,能帮帮我吗

#6

帖子 ptpt52 » 2011-08-12 13:12

代码: 全选

#!/bin/bash

#Back ground Auto Changer

for img in ~/图片/Mac\ wall\ paper\ converted/*.jpg;
    do
        echo "$img"
        gconftool-2  -s /desktop/gnome/background/picture_filename -t string "$img" -s  /desktop/gnome/background/picture_options zoom
        sleep 20
    done

这么写就可以了 :em04
走过去了也便有了路
http://www.ptpt52.com/
头像
cjxgm
帖子: 1952
注册时间: 2010-04-23 20:40
系统: Arch Linux
来自: 浙江·杭州
联系:

Re: [已解决]我这个for循环没有取对字符,能帮帮我吗

#7

帖子 cjxgm » 2011-08-12 13:18

ls 正解
Clanjor Prods. | Develop for Developers. (C++, Lua) | 作曲编曲 | 实时渲染引擎
回复