linuxshell输入脚本
A. 怎么在linux shell 里自动输入一个数字,比如2,然后自动执行一个回车
可以设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。
#!/bin/bash
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y)
echo "fine ,continue";;
N | n)
echo "ok,good bye";;
*)
echo "error choice";;
esac
exit 0
该例子使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即接受输入并将其传给变量。无需按回车键。
B. Linux Shell中如何自动输入命令需要接受的键盘输入
传递交互式参数的话,你可以试试这种,比如创建分区的一个例子:
echo"p主分区
1第一分区
指定默认从1开始
+200M分区200M
t更改分区类型
若只有一个则不需要指定分区
8elvm分区
w"|fdisk/dev/sdb
C. linux下shell编写脚本那个能模拟键盘输入的命令
用 yes 命令
如 yes 123 可以不停的输出 123,你可以用 yes 123 | head -3 输出三次。
然后你要是要对某个程序做输入,你用输入重定向。
如果你说的是应答,那就用 expect,具体的用法就复杂了,自己搜教程系统地学习吧。
D. 在Linux shell脚本中,如何实现输入yes执行一段指令,输入no则执行另外一段指令
您好!可以利用Shell函数实现
#!/bin/bash
action1()
{
#指令
}
action2()
{
#另外一个指令
}
read-p"请输入您的选择:"choose
if[$choose="yes"]
then
action1
fi
if[$choose="no"]
then
action2
fi
E. 如何在linux下shell编写脚本中模拟键盘输入
用 yes 命令
如 yes 123 可以不停的输出 123,你可以用 yes 123 | head -3 输出三次。
然后你要是要对某个程序做输入,你用输入重定向。
如果你说的是应答,那就用 expect,具体的用法就复杂了,自己搜教程系统地学习吧。
F. linux shell脚本读取用户输入的参数
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
例如:
#!/bin/sh
echo "arg_num: $#"
echo "shell_name: $0"
echo "first_arg : $1"
echo "second_arg : $2"
echo "args : $@"
G. linux下shell脚本执行过程中重新输入命令
其实可以写成一个脚本
function 就好
也可以直接调用
比如说我有2个文件
abcd.sh
#!/bin/bash
echo $1
test.sh
echo pls input something
read input
clear
abcd.sh $input
现在我执行test.sh
$ test.sh
pls input something
zzzzzzzzzzz
结果是
zzzzzzzzzzz
这就是简单的调用
你可以传递参数就好
如果你有多个需要输入的就很麻烦。。。
写成方法会更好些
H. linux如何在终端里输入shell脚本
一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。
Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。
以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。
当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用sh ./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。
整个shell脚本,其实就相当于你在终端输入的一系列命令,如果想在shell里做什么,就先想想在终端可以做什么吧,字符的的连接,就是直接用 "" 双引号,输出,变量定义无 $ 符号,但是使用时一定要加上 $ 符号。
"=" 赋值符号,两边一定不能有空格,这和其他语言有区别,尤其是你还有自己代码美观风格时特别注意,否则会报语法错误!
for 中的数组内容是以 " " 空格分隔,而非 "," 逗号分格。
条件判断 [ true ] 中括号 后面需要有一个空格,但是两个中括号之间不能有空格如 [[ true ]]。
while 条件判断可以用 () 括号,也可以用 [[ ]] 中括号。
如果用windows写shell,一定要注意换行符格式 而非 , 需要借助一些编辑器(如notepad++)更改换行符格式!