请求修改zsh批量进程终止脚本,实现自动确认YES无需交互
请求修改zsh批量进程终止脚本,实现自动确认YES无需交互
没问题,我帮你调整这个脚本,去掉手动确认的交互步骤,让它找到匹配的进程后直接执行终止操作,不用再输入y确认。
下面是修改后的完整脚本,你可以直接替换原来的内容:
cat << "EOF" >> ~/.zshrc #Kill apps that match string function kill-apps() { IFS=$'\n' red=$(tput setaf 1) normal=$(tput sgr0) if [ -z "$1" ] || [ "$1" = "--help" ]; then printf "%s\n" "Usage: kill-apps string" return 0 fi printf "%s\n" "Finding apps that match “$1”…" sleep 1 processes=($(pgrep -afil "$1")) if [ ${#processes[@]} -eq 0 ]; then printf "%s\n" "No apps found" return 0 else printf "%s\n" "${processes[@]}" # 移除交互确认步骤,直接执行kill操作 printf "%s\n" "Killing found apps…" sleep 1 for process in "${processes[@]}"; do echo $process | awk '{print $1}' | xargs sudo kill 2>&1 | grep -v "No such process" done printf "%s\n" "Done" return 0 fi } EOF source ~/.zshrc; kill-apps adobe
修改的关键点:
- 移除了询问用户是否确认的打印语句和输入读取语句
- 删除了判断用户输入是否为
y的逻辑分支,直接进入进程终止流程 - 保留了原脚本的所有核心功能:参数合法性检查、进程搜索、无匹配进程提示、以及kill时过滤“无此进程”的错误信息
这样修改后,你在Mac快捷指令里运行这个脚本时,就会自动完成进程终止,不会再弹出确认提示啦。
备注:内容来源于stack exchange,提问作者Outer
相关产品推荐
相关产品推荐

