📅  最后修改于: 2023-12-03 14:48:07.790000             🧑  作者: Mango
在 Ubuntu 上使用 Shell-Bash,我们可以很容易地通过命令行来进行文件和文件夹的操作。但是,如果你想将文件拖放到桌面上,你可能会感到有些不知所措。本文将介绍如何在 Ubuntu 上使用 Shell-Bash 实现文件拖放到桌面的操作。
首先,我们需要安装 xdg-user-dirs
,它是一种用户目录工具,用于在系统上创建和管理用户的目录和文件。
sudo apt-get install xdg-user-dirs
然后,我们需要更新用户的桌面目录,以确保它在我们的系统上存在。
xdg-user-dirs-update --set DESKTOP ~/Desktop
该命令将在系统上创建“桌面”目录,并将其设置为 ~/Desktop
。
现在,我们需要创建一个可以接受文件拖放的脚本。在 ~/Desktop
目录下创建一个名为 test.sh
的空白文件。
touch ~/Desktop/test.sh
使用 nano
或其他编辑器打开 test.sh
文件,并将以下内容复制粘贴到文件中:
#!/bin/bash
# Get the absolute path of the dropped file
file=$(readlink -f "$1")
# Do something with the file
echo "$file was dropped on the desktop"
该脚本将接受一个拖放的文件,并使用定义的命令对其执行操作。在这种情况下,我们只是打印出文件名。
接下来,我们需要为 test.sh
文件添加执行权限。
chmod +x ~/Desktop/test.sh
现在,我们可以测试脚本是否正常工作。拖放一个文件到桌面上并运行脚本。
~/Desktop/test.sh $HOME/Desktop/example.txt
如果脚本运行成功,它将会输出:
/home/user/Desktop/example.txt was dropped on the desktop
最后,我们需要将我们的脚本与 gnome-terminal
或其他终端应用程序相关联,以便在拖放文件到桌面时自动运行它。
打开 Nautilus(默认文件管理器)并前往 ~/.local/share/applications
目录。创建一个名为 test.desktop
的文件,编辑它,并将以下内容复制粘贴到文件中:
[Desktop Entry]
Name=Test
Type=Application
Exec=gnome-terminal -e "/bin/bash /home/user/Desktop/test.sh %f"
Terminal=true
Categories=Utility;
在 Exec
属性中,我们使用 gnome-terminal
命令将终端应用程序与脚本相关联。%f
用于指定拖放的文件。
现在,我们可以测试我们的应用程序是否正常工作。在 Nautilus 中,右键单击文件并将其拖放到桌面上。选择我们创建的应用程序“Test”,它应该自动打开终端并运行我们的脚本。
如果你不想安装 xdg-user-dirs 工具,你可以使用 inotifywait
命令监视桌面目录,以便在文件拖放时拦截和处理事件。
在终端中,使用以下命令安装 inotify-tools
:
sudo apt-get install inotify-tools
然后,我们需要创建一个名为 watch.sh
的脚本,并将以下内容复制粘贴到文件中:
#!/bin/bash
while true; do
inotifywait -q -e create ~/Desktop
file=$(ls -Art ~/Desktop | tail -n 1)
# Do something with the file
echo "$file was dropped on the desktop"
done
该脚本将持续监视桌面目录中的文件创建事件,并将最新创建的文件名保存到 file
变量中。然后,我们可以执行我们想要对该文件执行的操作。
为 watch.sh
文件添加执行权限。
chmod +x ~/Desktop/watch.sh
运行脚本以启动监视。
~/Desktop/watch.sh
当窗口启动并等待事件发生时,将拖放一个文件到桌面上。如果一切正常,脚本将显示文件名并停止等待事件。
example.txt was dropped on the desktop
您可以按 Ctrl + C 终止脚本。
如果你想在拖放文件时自动执行脚本,你可以创建一个桌面文件并关联 watch.sh
。在 ~/.local/share/applications
目录中创建一个名为 watch.desktop
的文件,编辑它,并将以下内容复制粘贴到文件中:
[Desktop Entry]
Name=Watch
Type=Application
Exec=gnome-terminal -e "/bin/bash /home/user/Desktop/watch.sh"
Terminal=true
Categories=Utility;
在 Nautilus 中,右键单击一个文件并将其拖放到桌面上。选择我们创建的应用程序“Watch”,它应该自动打开终端并启动我们的监视脚本。
以上就是如何使用 Shell-Bash 实现文件拖放到桌面的操作的两种方法。无论你选择哪种方法,都可以使用这些技巧快速提高你的工作效率。