有没有办法将多个文件拖到 shell 脚本上并将这些文件作为位置参数传递?在测试时,添加一个
echo "$# $@" > output.txt
在脚本中,表示仅传递 1 个参数,并且传递的参数是拖放操作之前选择的最后一个文件。
是否可以采取一些措施(欺骗或其他方式)来使此操作发挥作用?
答案1
合乎逻辑的事情是窗口管理器将放置的项目的路径作为参数传递给它们所放置的项目。
这教程似乎很好地涵盖了 bash 脚本参数..
使用变量 $1、$2、$3 等在脚本内部访问参数,其中 $1 指第一个参数,$2 指第二个参数,依此类推。
echo $1
如果参数数量可变,则可以使用“$@”变量,它是所有输入参数的数组。这意味着您可以使用 for 循环来迭代处理每个循环,如以下示例所示:
for FILE1 in "$@"
do
wc $FILE1
done
尝试制作一个将所有参数输出到文本文件中的脚本。这应该可以帮助您发现窗口管理器正在做什么。或者研究您的窗口管理器,了解它如何处理将一个图标拖放到另一个图标上的情况。