作为工作流程的一部分,我经常在 Mac 上打开多个 Excel 文件,而且对于任何给定的任务,它们通常是相同的文件。因此,我想编写一个 Zsh 脚本来一次性打开它们(为了保护隐私,文件名已更改):
case $foobaz in
1)
open "./foobar/foo.xlsm" &
open "./foobar/bar.csv" &
open "./foobar/baz.xlsx" &
echo "Foobar opened."
;;
这case
只是我输入的一个数字,用来告诉脚本我想要什么工作流程。除了但之外还有其他值1
,因为它们具有相同的代码,只是文件不同。
当我运行这个脚本时,脚本会打开一个或多个文件(文件数量和打开的文件数量不一致),然后挂起。我可能在编写代码时做了一些愚蠢的事情,因为我对 shell 脚本编写还比较陌生,但我想知道我做错了什么,以便了解更多。
更新:我检查了我的 shell 的版本并得到了这个(为了保护隐私,用户和机器名称已更改):
qux@xyzzy ~ % zsh --version
zsh 5.9 (arm64-apple-darwin24.0)
在最后一个 OPEN 命令之后,添加“wait”,然后使用 echo。然后它将等待所有后台进程完成。因此它将是这样的