我想在 watch
调用中使用自定义函数。这是一个虚拟示例:
my_fun(){
head -c2
}
echo hello | my_fun
# he
watch 'echo hello | my_fun'
# my_fun: command not found
如何让watch
了解my_fun
?
最佳答案
watch
实用程序使用 sh -c
执行命令。因此,如果要执行 zsh 函数,则需要显式执行 zsh。例如,如果你的函数是在 /path/to/functions
文件中定义的,你可以这样做:
watch 'echo hello | zsh -c "source /path/to/functions; my_fun"'
或
watch 'zsh -c "source /path/to/functions; echo hello | my_fun"'
但是编写一个包含所有内容的脚本可能比 zsh 函数更好。
关于function - 如何在zsh中使用带有功能的 watch ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27044239/