gpt4 book ai didi

linux - 在 bash 命令中输入带格式的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:20 24 4
gpt4 key购买 nike

我想将一些输入硬编码到我的 bash 脚本命令中。例如,我有一个这样的 bash 脚本:

#! /bin/bash
apt-get install python

我想在这个 bash 脚本中硬编码 yenter 作为 apt-get 命令的输入,有时用户可能会被要求确认安装空间。我知道我能做到

apt-get install python <<< 'y'

传递一个字符串输入y,但是我也可以使用这种方法输入特殊格式,比如换行符'\n'吗?谢谢!

最佳答案

所有此处的字符串自动以换行符终止,因此这可能无法满足您的要求。 (许多程序查看它们的输入是否来自 TTY,并根据结果更改它们是否提示以及如何提示;其他程序从 TTY 直接读取旨在来自用户的提示,因此绕过管道内容、heredocs 和 herestrings 完全)。

也就是说,对于问题的字面答案:

apt-get install python <<<$'y\n'

你也可以使用 heredoc:

apt-get install python <<EOF
y

EOF

也就是说,对于 apt-get 的特定情况,不要那样做!

apt-get install -y python

...确实是最佳实践。 (对于一般的系统管理命令,开发人员通常会预料到批处理或自动使用,因此很少需要最终用户输入——在​​每个程序的文档中查找诸如 --batch 之类的参数, --force--always--yes;指定项目的环境变量,否则将被提示;或通过具有激活的行为stdin 不是 TTY)。

关于linux - 在 bash 命令中输入带格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39522750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com