mac上shell扫描目录并放到弹框列表中
result=$(Find /Users/wish/_data/我的笔记 -not -path '*/\.*' -type d -exec printf "%s/\n" {} \;)
result=$(echo $result)
# 使用 IFS 空格来分割字符串,并将结果赋值给数组
IFS=' ' read -ra options <<< "$result"
# 将Bash数组转换为AppleScript可接受的格式
escaped_options=$(IFS=','; echo "${options[*]}" | sed 's/,/","/g;s/^/"/;s/$/"/')
# 使用AppleScript弹出选择列表
read -r selectedOption < <(osascript -e "
tell application \"System Events\"
activate
set userChoice to choose from list (${escaped_options}) with title \"请选择目标文件夹\" with prompt \"请选择:\"
return userChoice as text
end tell
")
if [ "$selectedOption" == "false" ]; then
echo '你放弃了本次移动,请您手动去下载文件夹选择移动!';
else
echo "You chose: $selectedOption"
fi
# 获取进程ID
pid=$(pgrep -f myprocess)
# 检查是否找到了进程
if [ -n "$pid" ]; then
# 杀死进程
kill "$pid"
fi
Shell 弹窗确认框
# alert
osascript -e 'display alert "您放弃了本次移动,您可以去下载文件夹手动移动!" buttons {"好的"} default button 1'
# 重要通知
osascript -e 'display dialog "您放弃了本次移动,您可以去下载文件夹手动移动!" buttons {"好的"} default button 1 with title "温馨提醒"'
Shell 通知
osascript -e "display notification \"$filename 已保存成功!\" with title \"提示:\""
shelll 杀死进程
# 获取进程ID
pid=$(pgrep -f fswatch)
# 检查是否找到了进程
if [ -n "$pid" ]; then
# 杀死进程
kill "$pid"
fi