我已切换到 zsh,如何运行为 bash 编写的脚本?
我不想修改脚本以将 #!/bin/bash 放在脚本的开头,因为它是受版本控制的。
还有其他方法吗?
有问题的脚本行是:
for f in `/bin/ls v/*/s.sh v/*/*/v.sh d/*/*/v.sh 2> /dev/null`
Run Code Online (Sandbox Code Playgroud)
nee*_*ted 27
您可以手动使用 bash 运行脚本:
bash myscript.sh
Run Code Online (Sandbox Code Playgroud)
更好、更持久的解决方案是添加一条 shebang 行:
#!/usr/bin/env bash
Run Code Online (Sandbox Code Playgroud)
添加该行后,即使在 ZShell 中,您也可以直接运行它:
% ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
就版本控制而言,为了所有相关开发人员的利益,您应该提交这一行。
小智 9
除了@neersighted评论的解决方案之外,您还应该确保您的bash脚本具有在zsh. 因此,您应该首先使用 shabang 设置 bash 脚本的第一行:
#!/usr/bin/env bash
Run Code Online (Sandbox Code Playgroud)
然后运行:
% chmod +x myscript.sh
Run Code Online (Sandbox Code Playgroud)
提供此类许可。然后你可以运行它zsh:
% ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52010 次 |
| 最近记录: |