一起学Bash脚本:输入

本文详细介绍了Linux shell脚本中如何使用`read`命令读取用户输入、文件内容,以及设置超时、提示信息、读取数组、限制字符数等高级用法。通过实例展示了`read`命令在处理命令行交互和文件操作中的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用read直接读取输入

[~]$ echo "input something"; read input; echo "your input: $input"
input something
test
your input: test

 多输入

[~]$ echo "input something"; read input1 input2; echo "your input: $input1";
input something
a b
your input: a

 读取文件,每次读一行

[~]$ while read line;do echo $line;done < test.sh
#!/bin/bash

echo "please input a num to select the command"
read command
if [ "$command" = "0" ];then
echo 0
elif [ "$command" = "1" ];then
echo 1
else
echo "more"
fi

为输入读取设置超时时间 -t

 read -t 3 text && echo "$text"

# 超时3秒

设置提示信息-p 

[~]$ read -p "input something here:" text; echo "$text";
input something here:aaa
aaa

将输入读到一个数组 -a

[~]$ read -a params;echo "${params[1]}";
a b c
b

读取指定个字符-n 

[~]$ read -n 5 letter;echo "$letter";
affffaffff

允许使用tab提示-e 

不显示输入(密文)-s

[~]$ read -s letter;echo "$letter";
letter

指定换行符-d

read -d delimiter

不解释转义-r

使用IFS分割文本 

[~]$ cat text.txt 
zhangsan:18:男
lisi:20:女

[~]$ read -p "input name:" name;info="$(grep "^$name" text.txt)";IFS=":";read realName age sex <<< "$info";echo "$realName"; echo "$age";echo "$sex";
input name:zhangsan
zhangsan
18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值