从当前文件夹中的Finder / Browser执行Mac / Linux shell脚本

时间:2018-03-21 07:31:19

标签: linux bash macos

大家早上好!

我创建了一个超级简单的脚本来删除文件夹中的几个文件:

#/bin/bash
rm *.ext1 *.ext2 file1.txt file2.txt

当我使用shell执行脚本时,一切正常。但是我希望能够双击脚本来执行它...这实际上有效,但它就像脚本在另一个文件夹中执行然后我得到的答案是&#的列表34; rm -filename-:没有这样的文件或目录"。

如何修改我的脚本以告诉他在其所在的文件夹中执行?注意:我不知道文件夹路径的先验,然后我无法指定完整路径!

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以要求Finder(在Mac上)告诉您当前显示的文件夹:

#!/bin/bash

# Ask Finder which folder it is currently displaying
dir=$( /usr/bin/osascript <<EOF
    tell application "Finder"
    try
            set currFolder to POSIX path of (folder of the front window as alias)
    on error
            set currFolder to "ERROR"
    end try
    currFolder
    end tell
EOF
)
echo "Finder is currently in: $dir"