Linux Shell中如何自动输入命令需要接受的键盘输入

Shell下,输入某个命令,命令运行后,需要用户输入一个值(比如让用户选择Y/N这种),命令才能进行下一步。可是,我不想每次运行该命令都要手动输一次(比如输入Y),有没有... Shell下,输入某个命令,命令运行后,需要用户输入一个值(比如让用户选择 Y/N 这种),命令才能进行下一步。可是,我不想每次运行该命令都要手动输一次(比如输入Y),有没有一种方法,可以预先输入Y,于是我就可以自动执行该命令N次都执行Y选项,而不必每次人工输入。求方法 展开
 我来答
百度网友f1edbb8
2014-03-28 · TA获得超过1048个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:522万
展开全部

传递交互式参数的话,你可以试试这种,比如创建分区的一个例子:

echo "p        主分区

1                   第一分区

                    指定默认从1开始

+200M        分区200M

t                    更改分区类型

若只有一个则不需要指定分区

8e                lvm分区

w" | fdisk /dev/sdb
匿名用户
推荐于2017-11-25
展开全部
如果abc.sh脚本里有要输入y再往执行的,可以 echo "y" |abc.sh
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
五长暨丹彤
2019-02-25 · TA获得超过3881个赞
知道大有可为答主
回答量:3178
采纳率:26%
帮助的人:262万
展开全部
传递交互式参数的话,你可以试试这种,比如创建分区的一个例子:
echo "p 主分区
1 第一分区
指定默认从1开始
+200M 分区200M
t 更改分区类型
若只有一个则不需要指定分区
8e lvm分区
w" | fdisk /dev/sdb
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
常忆大学时光
2014-03-28 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:37万
展开全部
不用那么麻烦 如果 yes | ./xxx.sh 就OK了
或者 在脚本里面 例如 # rm file1 (会提示你Y/N)
你这样写 yes | rm file1 (免交互 直接删除了)
希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
acrofox
2014-03-28 · TA获得超过577个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:299万
展开全部

依次考虑以下三种方案:

  1. 有些命令带有命令行参数,可以去掉这种询问(如 debian 软件包管理命令 aptitude)

  2. 有些命令是从标准输入读取应答数据的,这可以用管道完成。一个毫无意义的例子:
    echo y | rm -i file
    (因为去掉 -i 就不用回答了,所以说它毫无意义)

  3. 有些命令绕开标准输入,直接从终端读取应答数据,这种情况可以用 expect 来解决。使用 expect 需要多看点东西,我无法在这简单举例说清楚。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式