分页: 1 / 3

新手学shell写脚本,希望多多指教

发表于 : 2009-01-19 20:12
gududehuo
:em04 新手刚学shell,自己边学边搞了加载iso等loop文件的脚本,可以加载iso镜像,nrg镜像等光盘镜像,还可以加载img文件,squashfs文件等等,并且自动在/media创建同名文件夹。
如果对文件夹执行该脚本则出现已经加载的设备,可以选择umount个别设备,并且卸载后删除同名的文明夹。
图片
还可以判断是否重复加载。
图片
图片
出错有错误窗口弹出。 :em06
图片
图片
图片
但是有两个问题,那就是文件名太长判断重复加载会弹出错误窗口(加载完全正常),但不影响使用,这个是losetup不能输出长文件名造成的。还有就是文件名中含“&”,也是判断重复加载会出错,(加载也完全正常),也不影响使用,这个是zenity 的问题。
使用方法:把该脚本复制到/home/用户名/.gnome2/nautilus-scripts/中即可,要加载文件就选中要加载文件然后选中该脚本就会加载。卸载文件则选种任意的文件夹执行该脚本就可以了。
刚接触linux半年多,学shell不超过一个月,希望高手多多指教。 :em04 :em04 :em04 :em04
mountiso.tar.gz
2009/1/22/22/41update
(2.26 KiB) 已下载 146 次

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-19 21:59
Dic4000
gududehuo 写了: 刚接触linux半年多,学shell不超过一个月 :em04 :em04 :em04 :em04
这么厉害啊,向你学习 :em11

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-19 22:42
lerosua
精神可嘉 :em09

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-19 22:58
bones7456
汗, lerosua, 你还在灌啊..

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-19 23:17
photor
有空研究一下 :em06

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 14:54
photor
gududehuo 写了::em04 新手刚学shell,自己边学边搞了加载iso等loop文件的脚本,可以加载iso镜像,nrg镜像等光盘镜像,还可以加载img文件,squashfs文件等等,并且自动在/media创建同名文件夹。
如果对文件夹执行该脚本则出现已经加载的设备,可以选择umount个别设备,并且卸载后删除同名的文明夹。
图片
还可以判断是否重复加载。
图片
图片
出错有错误窗口弹出。 :em06
图片
图片
图片
但是有两个问题,那就是文件名太长判断重复加载会弹出错误窗口(加载完全正常),但不影响使用,这个是losetup不能输出长文件名造成的。还有就是文件名中含“&”,也是判断重复加载会出错,(加载也完全正常),也不影响使用,这个是zenity 的问题。
使用方法:把该脚本复制到/home/用户名/.gnome2/nautilus-scripts/中即可,要加载文件就选中要加载文件然后选中该脚本就会加载。卸载文件则选种任意的文件夹执行该脚本就可以了。
刚接触linux半年多,学shell不超过一个月,希望高手多多指教。 :em04 :em04 :em04 :em04
附件 mountiso.tar.gz 已经无效
对文件夹执行脚本弹不出你所说的已加载设备列表,只弹出一个窗口,见附件 :em20

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 17:00
gududehuo
photor,
:em06 我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 19:21
photor
gududehuo 写了:photor,
:em06 我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教
我明白怎么回事了,你的意思是在文件夹上用右键运行脚本可以显示已加载列表吧?我理解成进入文件夹之后在空白处点右键运行脚本了,就出来这样的错误提示窗口。
能不能把脚本改成在任意空白处点右键运行脚本都可以显示已加载列表?这样方便多了

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 19:27
photor
另外用你的已加载列表来卸载总是提示设备忙,无法卸载,是怎么回事?

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 21:51
gududehuo
photor 写了:
gududehuo 写了:photor,
:em06 我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教
我明白怎么回事了,你的意思是在文件夹上用右键运行脚本可以显示已加载列表吧?我理解成进入文件夹之后在空白处点右键运行脚本了,就出来这样的错误提示窗口。
能不能把脚本改成在任意空白处点右键运行脚本都可以显示已加载列表?这样方便多了
你的支持是我最大的动力,谢谢photor。
附件已经增加了任意空白处点右键运行脚本都显示已加载列表。
你说的是不是有程序在用你的光盘目录,我在看看能不能增加显示是哪个程序在使用光盘目录

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 22:07
photor
空白处已经可以了。不能卸载的问题,如果你自己测试正常的话,可能是我这里的问题,因为我开了cairo-dock的places插件,不清楚是不是由这个造成的,不管它了
另外发现了一个小臭虫:
如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 22:14
gududehuo
如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉
我这个有处理的,你随便挂载一个文件,脚本会现创建文件夹,但它也会提示无法识别文件格式,要使用者指定文件格式,如果还是无法识别,则会提示无法识别,然后会删除文件夹。

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 22:17
photor
gududehuo 写了:
如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉
我这个有处理的,你随便挂载一个文件,脚本会现创建文件夹,但它也会提示无法识别文件格式,要使用者指定文件格式,如果还是无法识别,则会提示无法识别,然后会删除文件夹。
我这里没有提示让我指定文件格式(我试验挂载的是一个wubi安装的root.disk文件),而是直接出现了如附件所示的错误信息,并且创建的空文件夹没有删掉

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 22:19
photor
另外用你的列表模式卸载不了的,我用命令行

代码: 全选

sudo umount /media/WINME.iso
可以正常卸载,也许还是一个臭虫

Re: 新手学shell写脚本,希望多多指教

发表于 : 2009-01-21 23:05
gududehuo
我这里没有提示让我指定文件格式(我试验挂载的是一个wubi安装的root.disk文件),而是直接出现了如附件所示的错误信息,并且创建的空文件夹没有删
我改了下,脚本里确实有错误,可能替换的时候替换错了, :em06
photor再帮我试下