新手学shell写脚本,希望多多指教
-
- 帖子: 92
- 注册时间: 2008-05-25 22:58
新手学shell写脚本,希望多多指教
新手刚学shell,自己边学边搞了加载iso等loop文件的脚本,可以加载iso镜像,nrg镜像等光盘镜像,还可以加载img文件,squashfs文件等等,并且自动在/media创建同名文件夹。
如果对文件夹执行该脚本则出现已经加载的设备,可以选择umount个别设备,并且卸载后删除同名的文明夹。
还可以判断是否重复加载。
出错有错误窗口弹出。
但是有两个问题,那就是文件名太长判断重复加载会弹出错误窗口(加载完全正常),但不影响使用,这个是losetup不能输出长文件名造成的。还有就是文件名中含“&”,也是判断重复加载会出错,(加载也完全正常),也不影响使用,这个是zenity 的问题。
使用方法:把该脚本复制到/home/用户名/.gnome2/nautilus-scripts/中即可,要加载文件就选中要加载文件然后选中该脚本就会加载。卸载文件则选种任意的文件夹执行该脚本就可以了。
刚接触linux半年多,学shell不超过一个月,希望高手多多指教。
如果对文件夹执行该脚本则出现已经加载的设备,可以选择umount个别设备,并且卸载后删除同名的文明夹。
还可以判断是否重复加载。
出错有错误窗口弹出。
但是有两个问题,那就是文件名太长判断重复加载会弹出错误窗口(加载完全正常),但不影响使用,这个是losetup不能输出长文件名造成的。还有就是文件名中含“&”,也是判断重复加载会出错,(加载也完全正常),也不影响使用,这个是zenity 的问题。
使用方法:把该脚本复制到/home/用户名/.gnome2/nautilus-scripts/中即可,要加载文件就选中要加载文件然后选中该脚本就会加载。卸载文件则选种任意的文件夹执行该脚本就可以了。
刚接触linux半年多,学shell不超过一个月,希望高手多多指教。
上次由 gududehuo 在 2009-01-22 22:42,总共编辑 4 次。
-
- 帖子: 104
- 注册时间: 2008-09-10 21:06
Re: 新手学shell写脚本,希望多多指教
这么厉害啊,向你学习gududehuo 写了: 刚接触linux半年多,学shell不超过一个月
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: 新手学shell写脚本,希望多多指教
对文件夹执行脚本弹不出你所说的已加载设备列表,只弹出一个窗口,见附件gududehuo 写了: 新手刚学shell,自己边学边搞了加载iso等loop文件的脚本,可以加载iso镜像,nrg镜像等光盘镜像,还可以加载img文件,squashfs文件等等,并且自动在/media创建同名文件夹。
如果对文件夹执行该脚本则出现已经加载的设备,可以选择umount个别设备,并且卸载后删除同名的文明夹。
还可以判断是否重复加载。
出错有错误窗口弹出。
但是有两个问题,那就是文件名太长判断重复加载会弹出错误窗口(加载完全正常),但不影响使用,这个是losetup不能输出长文件名造成的。还有就是文件名中含“&”,也是判断重复加载会出错,(加载也完全正常),也不影响使用,这个是zenity 的问题。
使用方法:把该脚本复制到/home/用户名/.gnome2/nautilus-scripts/中即可,要加载文件就选中要加载文件然后选中该脚本就会加载。卸载文件则选种任意的文件夹执行该脚本就可以了。
刚接触linux半年多,学shell不超过一个月,希望高手多多指教。
- 附件
-
- Screenshot-无标题窗口.png (8.55 KiB) 查看 2923 次
-
- 帖子: 92
- 注册时间: 2008-05-25 22:58
Re: 新手学shell写脚本,希望多多指教
photor,
我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教
我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: 新手学shell写脚本,希望多多指教
我明白怎么回事了,你的意思是在文件夹上用右键运行脚本可以显示已加载列表吧?我理解成进入文件夹之后在空白处点右键运行脚本了,就出来这样的错误提示窗口。gududehuo 写了:photor,
我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教
能不能把脚本改成在任意空白处点右键运行脚本都可以显示已加载列表?这样方便多了
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: 新手学shell写脚本,希望多多指教
另外用你的已加载列表来卸载总是提示设备忙,无法卸载,是怎么回事?
- 附件
-
- Screenshot-zenity.png (4.41 KiB) 查看 2905 次
-
- 帖子: 92
- 注册时间: 2008-05-25 22:58
Re: 新手学shell写脚本,希望多多指教
你的支持是我最大的动力,谢谢photor。photor 写了:我明白怎么回事了,你的意思是在文件夹上用右键运行脚本可以显示已加载列表吧?我理解成进入文件夹之后在空白处点右键运行脚本了,就出来这样的错误提示窗口。gududehuo 写了:photor,
我也创建同样的目录,但运行能出现加载列表的
我再看看,
谢谢指教
能不能把脚本改成在任意空白处点右键运行脚本都可以显示已加载列表?这样方便多了
附件已经增加了任意空白处点右键运行脚本都显示已加载列表。
你说的是不是有程序在用你的光盘目录,我在看看能不能增加显示是哪个程序在使用光盘目录
上次由 gududehuo 在 2009-01-22 23:09,总共编辑 1 次。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: 新手学shell写脚本,希望多多指教
空白处已经可以了。不能卸载的问题,如果你自己测试正常的话,可能是我这里的问题,因为我开了cairo-dock的places插件,不清楚是不是由这个造成的,不管它了
另外发现了一个小臭虫:
如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉
另外发现了一个小臭虫:
如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉
-
- 帖子: 92
- 注册时间: 2008-05-25 22:58
Re: 新手学shell写脚本,希望多多指教
我这个有处理的,你随便挂载一个文件,脚本会现创建文件夹,但它也会提示无法识别文件格式,要使用者指定文件格式,如果还是无法识别,则会提示无法识别,然后会删除文件夹。如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: 新手学shell写脚本,希望多多指教
我这里没有提示让我指定文件格式(我试验挂载的是一个wubi安装的root.disk文件),而是直接出现了如附件所示的错误信息,并且创建的空文件夹没有删掉gududehuo 写了:我这个有处理的,你随便挂载一个文件,脚本会现创建文件夹,但它也会提示无法识别文件格式,要使用者指定文件格式,如果还是无法识别,则会提示无法识别,然后会删除文件夹。如果胡乱挂载一个文件(不是iso格式)的话,虽然有错误提示信息,但是在/media下面依然建立了一个相应的文件夹没有删掉
- 附件
-
- Screenshot-zenity.png (6.15 KiB) 查看 2888 次
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: 新手学shell写脚本,希望多多指教
另外用你的列表模式卸载不了的,我用命令行
可以正常卸载,也许还是一个臭虫
代码: 全选
sudo umount /media/WINME.iso
-
- 帖子: 92
- 注册时间: 2008-05-25 22:58
Re: 新手学shell写脚本,希望多多指教
我改了下,脚本里确实有错误,可能替换的时候替换错了,我这里没有提示让我指定文件格式(我试验挂载的是一个wubi安装的root.disk文件),而是直接出现了如附件所示的错误信息,并且创建的空文件夹没有删
photor再帮我试下
上次由 gududehuo 在 2009-01-22 23:09,总共编辑 1 次。