示例:
$ find ~ iname script.sh -exec ls -s {} -exec bash {} +
这成功运行了脚本,但我不想生成新的shell,是否可以只运行脚本?
答案 0 :(得分:2)
你的意思是你想要找到你在当前shell中找到的脚本吗?如果是这样的话:
while IFS= read -r -d '' scriptname; do
printf '%s\n' "$scriptname" >&2
source "$scriptname"
done < <(find ~ -iname script.sh -print0)
如果您只是想在将子程序作为子进程运行时避免涉及多个解释器:
find ~ -iname script.sh -exec ls -sh '{}' ';' -exec '{}' ';'
...引用{}
对于bash来说并不是必需的,但如果可以在zsh中使用某个代码,那么它就是习惯。