这从命令行工作:
scp -r ^.git b:/home/wopi/blyzics/.
当我把上面这行代码粘贴到这样的脚本中时:
#!/usr/bin/env zsh scp -r ^.git b:/home/wopi/blyzics/.
并运行它
./deploy.sh
我得到:
^.git: No such file or directory
为什么?
使用^.filename是仅在设置了EXTENDED_GLOB时启用的function。 您可能在.zshrc设置了这个用于交互式使用的设置,但是shell脚本不会使用这个。
有关信息,请参阅zsh手册 。 要在您的脚本中启用此function,您可以简单地运行:
setopt extended_glob
在脚本的顶部。 请注意,这不是便携式的,但是。