我正在使用 Ubuntu 18.04、19.04 和 19.10
出于gnome-shell
主题目的,我遇到了以下情况。
admin@i7-4770:~$ ls /usr/share/themes/Yaru/gnome-shell/
calendar-today.svg noise-texture.png
checkbox-dark.svg no-notifications.svg
checkbox-focused-dark.svg pad-osd.css
checkbox-focused.svg pointer-double-click-symbolic.svg
checkbox-off-dark.svg pointer-drag-symbolic.svg
checkbox-off-focused-dark.svg pointer-primary-click-symbolic.svg
checkbox-off-focused.svg pointer-secondary-click-symbolic.svg
checkbox-off.svg process-working.svg
checkbox.svg running-indicator.svg
dash-placeholder.svg source-button-border.svg
gnome-shell.css summary-counter.svg
gnome-shell-high-contrast.css toggle-off-dark.svg
key-enter.svg toggle-off-hc.svg
key-hide.svg toggle-off-intl.svg
key-layout.svg toggle-off.svg
key-shift-latched-uppercase.svg toggle-on-dark.svg
key-shift.svg toggle-on-hc.svg
key-shift-uppercase.svg toggle-on-intl.svg
lockscreen-gradient.svg toggle-on.svg
logged-in-indicator.svg ws-switch-arrow-down.svg
message-indicator-symbolic.svg ws-switch-arrow-up.svg
no-events.svg
admin@i7-4770:~$
我需要为目录中上述输出的每个文件.svg
创建 一个符号链接。.png
/usr/share/gnome-shell/theme/
现在,我唯一的方法是ln -s
为每个文件运行。
sudo ln -s /usr/share/themes/Yaru/gnome-shell/calendar-today.svg /usr/share/gnome-shell/theme/
我敢肯定,专家可以很快做到。
我怎样才能做到这一点?
这里根本不需要循环。只需运行以下
ln
命令:在启动任何命令之前,大括号扩展由 shell 处理。所以上面的命令变成了:
换句话说,它变成
ln -s f1 f2 ... fN /path/to/target/dir
了链接所有文件所需的一切。例如:如果由于某种原因您只需要一个循环,请改用 glob:
这样,您就不必担心任何奇怪的文件名,就像使用
ls
. 还要注意我是如何引用的,这对于奇怪的文件名"$file"
也是必不可少的。经过几次谷歌搜索..
结束了下面的脚本
有效。但我仍然认为专家可以通过一个可以输入终端的命令来实现。