Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
【跟我学shell】每天换Bing壁纸
社区开发
1779
views ·
11
replies ·
To
floor
Go
海天鹰
deepin
2018-05-19 19:23
Author
本帖最后由 sonichy 于 2018-5-20 10:01 编辑
隔壁小朋友用java写了个换 unsplash 壁纸,要搭建 java 环境,内存占用有点大,unsplash 网速慢。
哎,这么简单的工作为什么不要shell,shell 作为 Linux 的底层,有着无比的优越性。
只选对的,不选会的,虽然我对 shell 也不懂,但是我可以学啊。
Bing 壁纸的 API 我用了几年了,主要用于浏览器新标签页,一般好看的壁纸我才保存下来,设为壁纸,如果用shell自动设置壁纸,就不需要多几个步骤了。
#清屏
printf "\033c"
URL="https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"
domain=${URL%/*}
HTML=`mktemp`
wget -q $URL -O $HTML
#str=${`cat $HTML`//\ //_}
#str=${str//,//\ }
#空格替换为_
str=`cat $HTML | sed 's/ /_/g'`
#双引号替换为_
str=`cat $HTML | sed 's/"/_/g'`
#逗号替换为空格
str=`echo $str | sed 's/,/ /g'`
#echo $str
#按空格分割到数组
array=($str)
for var in ${array[@]}
do
if [[ $var =~ "_url_:_" ]]
then
#截取_url_:_右边的字符串
url=${var##*_url_:_}
#截取_左边的字符串
url=${domain}${url%%_}
echo $url
filename=${url##*/}
echo $filename
wget -q $url -O $filename
path=$(pwd)"/"$filename
echo $path
gsettings set org.gnome.desktop.background picture-uri file://$path
sleep 1
rm $path
break
fi
done
~/.config/autostart 的 desktop 运行 shell 失败,如何添加开机 shell ?
Reply
Like 0
Favorite
View the author
All Replies
ax******er@126.com
deepin
2018-05-19 19:44
#1
求打包Flatpak,一键安装。
Reply
Like 0
View the author
BG7ZAG
deepin
2018-05-19 19:45
#2
小白看不懂最后一句话
Reply
Like 0
View the author
DeepinOS
deepin
2018-05-19 19:45
#3
给你一个大大的赞
Reply
Like 0
View the author
BG7ZAG
deepin
2018-05-19 19:47
#4
本帖最后由 hlbj105 于 2018-5-19 11:54 编辑
是这样放吗?
Reply
Like 0
View the author
caedmon
deepin
2018-05-19 23:26
#5
#按空格分割到数组
array=($str)
上面这句报错:Syntax error: "(" unexpected
Reply
Like 0
View the author
jianguo922
deepin
2018-05-20 00:19
#6
谢谢楼主分享
Reply
Like 0
View the author
y***0@163.com
deepin
2018-05-20 01:09
#7
论坛里有个必应壁纸一键设置的app
Reply
Like 0
View the author
nero28
deepin
2018-05-20 02:02
#8
社区有个老兄分享了几个G的图片,放到默认壁纸文件夹下,右键随便换。比加个软件似乎更方便
Reply
Like 0
View the author
lulinux
deepin
2018-05-20 02:05
#9
本帖最后由 lulinux 于 2018-5-19 18:26 编辑
这种必应壁纸切换的shell脚本github上有不少,我结合crontab用了一年了。
Reply
Like 0
View the author
kid_kid
deepin
2018-05-21 22:26
#10
隔壁小朋友来给大佬点个赞
Reply
Like 0
View the author
农夫
deepin
2018-05-22 07:39
#11
本帖最后由 superfamer 于 2018-5-21 23:43 编辑
不是有个必应缤纷壁纸么(bingnicewallpapers)
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
【Enhanced Repo】Better Deepin Repo is released
How to fix grub boot menu that has disappeared?
Popular Events
More
隔壁小朋友用java写了个换 unsplash 壁纸,要搭建 java 环境,内存占用有点大,unsplash 网速慢。
哎,这么简单的工作为什么不要shell,shell 作为 Linux 的底层,有着无比的优越性。
只选对的,不选会的,虽然我对 shell 也不懂,但是我可以学啊。
Bing 壁纸的 API 我用了几年了,主要用于浏览器新标签页,一般好看的壁纸我才保存下来,设为壁纸,如果用shell自动设置壁纸,就不需要多几个步骤了。
#清屏
printf "\033c"
URL="https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"
domain=${URL%/*}
HTML=`mktemp`
wget -q $URL -O $HTML
#str=${`cat $HTML`//\ //_}
#str=${str//,//\ }
#空格替换为_
str=`cat $HTML | sed 's/ /_/g'`
#双引号替换为_
str=`cat $HTML | sed 's/"/_/g'`
#逗号替换为空格
str=`echo $str | sed 's/,/ /g'`
#echo $str
#按空格分割到数组
array=($str)
for var in ${array[@]}
do
if [[ $var =~ "_url_:_" ]]
then
#截取_url_:_右边的字符串
url=${var##*_url_:_}
#截取_左边的字符串
url=${domain}${url%%_}
echo $url
filename=${url##*/}
echo $filename
wget -q $url -O $filename
path=$(pwd)"/"$filename
echo $path
gsettings set org.gnome.desktop.background picture-uri file://$path
sleep 1
rm $path
break
fi
done
~/.config/autostart 的 desktop 运行 shell 失败,如何添加开机 shell ?