sh/bash/dash/ksh/zsh等Shell脚本
-
自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
#1
帖子
由 自由建客 » 2011-09-04 0:29
代码: 全选
ln /opt/thunderbird/chrome/icons/default/default16.png /usr/share/icons/hicolor/16x16/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default22.png /usr/share/icons/hicolor/22x22/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default24.png /usr/share/icons/hicolor/24x24/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default32.png /usr/share/icons/hicolor/32x32/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default48.png /usr/share/icons/hicolor/48x48/apps/thunderbird.png
ln /opt/thunderbird/chrome/icons/default/default256.png /usr/share/icons/hicolor/256x256/apps/thunderbird.png
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#2
帖子
由 我就是我2 » 2011-09-04 8:45
代码: 全选
for i in /opt/thunderbird/chrome/icons/default/default*.png;do j=$(sed -r 's/^.*default(.*)\.png$/\1/' <<<"$i");ln $i /usr/share/icons/hicolor/${j}x$j/apps/thunderbird.png;done
试试,希望能行.
-
Ubuntu与Linux
- 帖子: 1211
- 注册时间: 2010-06-09 19:57
#3
帖子
由 Ubuntu与Linux » 2011-09-04 10:39
码盲来帮忙
ln /opt/thunderbird/chrome/icons/default/default16.png /usr/share/icons/hicolor/16x16/apps/thunderbird.png;ln /opt/thunderbird/chrome/icons/default/default22.png /usr/share/icons/hicolor/22x22/apps/thunderbird.png......
以此类推。
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#4
帖子
由 我就是我2 » 2011-09-04 11:43
或者这样试试
代码: 全选
for i in {16,22,24,32,48,256};do ln /opt/thunderbird/chrome/icons/default/default${i}.png /usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png;done
-
fnan
- 帖子: 919
- 注册时间: 2009-07-01 22:04
#5
帖子
由 fnan » 2011-09-04 18:32
我就是我2 写了:或者这样试试
代码: 全选
for i in {16,22,24,32,48,256};do ln /opt/thunderbird/chrome/icons/default/default${i}.png /usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png;done
# 能自动的不要手动。
for f in /opt/thunderbird/chrome/icons/default/default*.png;do ln $f /usr/share/icons/hicolor/${f//[^0-9]/}x${f//[^0-9]/}/apps/thunderbird.png;done
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#6
帖子
由 我就是我2 » 2011-09-04 21:58
fnan 写了:我就是我2 写了:或者这样试试
代码: 全选
for i in {16,22,24,32,48,256};do ln /opt/thunderbird/chrome/icons/default/default${i}.png /usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png;done
# 能自动的不要手动。
for f in /opt/thunderbird/chrome/icons/default/default*.png;do ln $f /usr/share/icons/hicolor/${f//[^0-9]/}x${f//[^0-9]/}/apps/thunderbird.png;done
我是想用变量替换的。${f//[^0-9]/} 。。不懂这样用。再看看13问。
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#7
帖子
由 我就是我2 » 2011-09-04 22:06
另外问一下,在
${f#*./} #号的作用/意思是什么?这些特殊字符的含义不好google.
-
fnan
- 帖子: 919
- 注册时间: 2009-07-01 22:04
#8
帖子
由 fnan » 2011-09-05 0:15
我就是我2 写了:另外问一下,在
${f#*./} #号的作用/意思是什么?这些特殊字符的含义不好google.
# 是前删除最短匹配,*./就是字符./和以前所有字符。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
-
我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
-
联系:
#9
帖子
由 我就是我2 » 2011-09-05 9:00
# 能自动的不要手动。
for f in /opt/thunderbird/chrome/icons/default/default*.png;do ln $f /usr/share/icons/hicolor/${f//[^0-9]/}x${f//[^0-9]/}/apps/thunderbird.png;done
我知道
${f//[^0-9]/} 的含义了:保留数字/删除所有非数字字符
## %% // 这三个是最大匹配
# % / 这三个是最小匹配
其中#是向左匹配,#是向右匹配。