加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 防止sudo,apt-get等吞下粘贴的输入到STDIN?

发布时间:2020-12-15 18:35:53 所属栏目:安全 来源:网络整理
导读:我经常写维基指令在Ubuntu上安装各种服务器软件包(目前11.10 Oneiric).它们总是涉及以下内容: sudo apt-get install -y postfixsudo cp ~/siteconfig/etc/postfix/main.cf /etc/postfix 但是当你将它剪切并粘贴到终端时,sudo,apt-get或某些子shell会随机吞
我经常写维基指令在Ubuntu上安装各种服务器软件包(目前11.10 Oneiric).它们总是涉及以下内容:
sudo apt-get install -y postfix
sudo cp ~/siteconfig/etc/postfix/main.cf /etc/postfix

但是当你将它剪切并粘贴到终端时,sudo,apt-get或某些子shell会随机吞下后续的输入行,并且只会发生apt-get安装.

有没有办法让这个更加剪切和粘贴友好?我想我可以用每个部分包装

cat > script <<EOF
apt-get install -y postfix
cp ~/siteconfig/etc/postfix/main.cf /etc/postfix
EOF
sudo sh ./script

但有更好的方法吗?

避免剪切和粘贴问题,以及连续安全地运行命令的一种方法是将它们放在由&&和/或只有在成功完成sudo apt-get install后才会执行cp:
sudo apt-get install -y postfix && sudo cp ~/siteconfig/etc/postfix/main.cf /etc/postfix

毕竟,如果第一个命令失败,你可能不想继续执行其余的命令.

至于为什么在你一次粘贴多行时吞下这些命令……当postfix安装完毕后,它会使用debconf对话框前端询问配置问题,这可能会干扰切割和粘贴.也许不同的前端如readline或noninteractive会干扰更少?不过,我会使用&&无论如何,因为它更安全.

如果您使用脚本安装postfix,听起来好像您正在尝试自动安装新系统?如果是这样,考虑使用preseeding作为选项(这里是一些Ubuntu 11.10 specific documentation)或者使用puppet?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读