macos - 如何打开新终端并在新终端中运行命令?
问题描述
Mac 11.4
我当前的函数打开一个新终端,然后在旧终端中运行一个 C 程序。
foo() {
open -a Terminal -n; cd ~/desktop/c; ./target.exe
}
我想要它做的是打开一个新终端并在新终端内运行 C 程序。
这可能与 Zsh 函数有关吗?
解决方案
将以下脚本保存在 run-command.zsh 中:
#!/usr/bin/env zsh
run-command(){
local tmp=$(mktemp)
echo "rm $tmp; cd '$PWD'; $*" > $tmp
chmod 755 $tmp ; open -a Terminal $tmp
}
run-command "$@"
并运行它
chmod +x ./run-command.zsh
./run-command.zsh top
成功测试“top”后,您可以运行:
./run-command.zsh "cd ~/desktop/c; ./target.exe"
推荐阅读
- c++ - 在 Sublime Text 中使用库
- reactjs - React Redux Firebase 在身份验证后刷新之前不加载道具
- java - java spring boot中的输入验证模式
- c# - 如何根据类数据类型分支代码
- python - 如何在不覆盖子实例的情况下使用自己的实例变量调用父类的函数?
- angular - MatDialog 关闭前一个对话框时打开下一个对话框 - forLoop 或流
- james - Apache James - 电子邮件已发送但无法获取
- excel - 组合框,我如何从通过 listobject 检索的列表中排除空白
- c# - 如何在不显示物理路径的情况下显示文件夹中的文件?
- android - 在 Flutter 中播放 Vimeo 视频