Macports:假设"继续Y/N"提示是吗?

Zhe*_*hir 8 macos bash macports

对于macport来说,我是一个完整的菜鸟.我刚刚开始一份新工作,他们给了我一台新的工作笔记本电脑和一个基本的bash脚本,里面装满了超过20,000个端口.我在OS X Sierra上运行macports 2.4.1.

有时端口需要我的密码,通常是允许端口在启动时运行.因此,只需创建某种类型的脚本来按y并反复输入就不会很好.

我试图搜索,但大多数人都在寻找方法来阻止macports完全安装依赖项,这不是我想要的,我需要它只是假设我确实想要安装所有依赖项而不要求提示.我不确定这是否是我可以通过参数或在某处编辑配置文件来做的事情......或者根本不可能的事情.

任何帮助赞赏:)

小智 8

-N标志添加到port命令,以便"不询问交互式问题".

来自man port:

   -N
       Non-interactive mode, interactive questions are not asked
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这将*不*假设是,而是回到安全默认值.默认为yes会带来卸载您可能不想卸载的东西的风险.当标准输出不是终端时,`-N`也是默认值. (4认同)

GDP*_*DP2 6

如果您真的想回答yes,那么非交互模式不一定是正确的答案。正如@neverpanic 在评论中提到的那样,非交互模式仅会退回到安全默认值,而不是假设肯定响应。

为了真正回答是肯定的,您可以随时使用旧yes命令:

$ sudo -s                                                           
Password:
root@host $ yes | port install ImageMagick GraphicsMagick
Run Code Online (Sandbox Code Playgroud)