已经完成了ugit.sh
程序,利用它可以方便的将仓库建立在U盘
上,这也就达成了随身携带U盘
仓库而不依赖网络的问题。但是在最初实现时,对Shell
的理解不够深入,一些基础的命令没有用好,从而增加了一些循环判断,尽管在使用体验上不会有什么影响,但是仔细测试效率时还是有差别的,同时从维护脚本的角度讲不是足够简洁。本着精益求精的原则,决定进一步精简脚本,实现Shell
层次上的效率极大化!在所有的问题中,一步列出所有U盘
并且将U盘
中的目录都添加绝对路径是一个重要的步骤,本文实现了这个一步操作。代码如下:
列出子目录并添加绝对路径1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| $ ls -d /run/media/$USER/*/*
/run/media/feng/BNU-FZH/article.git /run/media/feng/BNU-FZH/cexam.git /run/media/feng/BNU-FZH/config.git /run/media/feng/BNU-FZH/document.git /run/media/feng/BNU-FZH/latex.git /run/media/feng/BNU-FZH/python.git /run/media/feng/BNU-FZH/script.git /run/media/feng/BNU-FZH/System Volume Information /run/media/feng/feng/20230203_094347.jpg /run/media/feng/feng/2023_07_19 17_25 Office Lens (1).jpg /run/media/feng/feng/2023_07_19 17_25 Office Lens.jpg /run/media/feng/feng/截图 2024-06-18 18-03-16.png /run/media/feng/feng/截图 2024-06-18 18-06-42.png /run/media/feng/feng/PDF文件 /run/media/feng/feng/System Volume Information
|
可以看到在路径/run/media/feng/
下有两个U盘
,分别是BNU-FZH
和feng
,
这是路径/run/media/$USER/*/*
中左起第一个*
所代表的,而最后一个*
表示列出此目录下的内容。-d
选项,则控制ls
命令列出路径。一条命令实现了列出所有U盘
目录的功能,极大的提高了效率!