传递交互式参数的话,你可以试试这种,比如创建分区的一个例子:
echo "p 主分区
1 第一分区
指定默认从1开始
+200M 分区200M
t 更改分区类型
若只有一个则不需要指定分区
8e lvm分区
w" | fdisk /dev/sdb
如果abc.sh脚本里有要输入y再往执行的,可以 echo "y" |abc.sh
传递交互式参数的话,你可以试试这种,比如创建分区的一个例子:
echo "p 主分区
1 第一分区
指定默认从1开始
+200M 分区200M
t 更改分区类型
若只有一个则不需要指定分区
8e lvm分区
w" | fdisk /dev/sdb
不用那么麻烦 如果 yes | ./xxx.sh 就OK了
或者 在脚本里面 例如 # rm file1 (会提示你Y/N)
你这样写 yes | rm file1 (免交互 直接删除了)
希望能帮到你
依次考虑以下三种方案:
有些命令带有命令行参数,可以去掉这种询问(如 debian 软件包管理命令 aptitude)
有些命令是从标准输入读取应答数据的,这可以用管道完成。一个毫无意义的例子:
echo y | rm -i file
(因为去掉 -i 就不用回答了,所以说它毫无意义)
有些命令绕开标准输入,直接从终端读取应答数据,这种情况可以用 expect 来解决。使用 expect 需要多看点东西,我无法在这简单举例说清楚。