manbetx手机网页版Linux 底蕴教程 45-read命令

用法示例

1、从规范输入读入

[root@localhost test]# cat read.sh
#!/bin/bash
echo -n "Please input your name:"
read name
echo "Hello $name"
[root@localhost test]# bash read.sh
Please input your name:Jack
Hello Jack

2、钦命展现消息从行业内部输入读入

[root@localhost test]# cat read.sh
#!/bin/bash
# echo -n "Please input your name:"
read -p "Please input your name:" name
# read name
echo "Hello $name"
[root@localhost test]# bash read.sh
Please input your name:Jack
Hello Jack

在以上示例中,read是一遍能够肩负两个参数的,如下所示:

read -p "Please input your name:" firstName secondName lastName

但必要小心的事项如下:

  • 朝气蓬勃经输入的多寡少于变量个数,则多余的变量不会拿走到多少,即变量值为空
  • 尽管输入的数额多于变量个数,则出乎的多司令员整个赋给最终一个变量
  • 假定在read命令前面未有概念任何变量,脚本在施行时,假设客商输入数据,这个时候数码则保留到遭受变量$REPLY

3、钦定超时时间

[root@localhost test]# cat read.sh
#!/bin/bash
if read -t 3 -p "Please input your name:" firstName secondName lastName
then
  echo "variable is $firstName - $secondName - $lastName"
else
   echo -e  "\ntimeout\n"
fi
[root@localhost test]# bash read.sh
Please input your name:
timeout

4、从内定文件中读取内容

[root@localhost test]# cat -n test.txt
     1  this is test text.
     2  this is second line.
     3  Hello world
     4  C# Main
     5  Python
# 使用-u选项
[root@localhost test]# cat readtest.sh
#!/bin/bash
exec 5< ~/test/test.txt
count=0
while read -u 5 var
do
 let count=$count+1
 echo "Line $count is $var"
done
echo "Total line count is $count"
exec 5<&-
[root@localhost test]# bash readtest.sh
Line 1 is this is test text.
Line 2 is this is second line.
Line 3 is Hello world
Line 4 is C# Main
Line 5 is Python
Total line count is 5
# 使用管道
[root@localhost test]# cat readtest.sh
#!/bin/bash
count=1
cat ~/test/test.txt |  while read line
do
 echo "Current line $count - $line "
 let count=$count+1
done
echo "Total line count is $count"
[root@localhost test]# bash readtest.sh
Current line 1 - this is test text.
Current line 2 - this is second line.
Current line 3 - Hello world
Current line 4 - C# Main
Current line 5 - Python
Total line count is 1
# 使用重定向
[root@localhost test]# cat readtest.sh
#!/bin/bash
count=0
while read line
do
 let count=$count+1
 echo "Current line $count - $line "
done < ~/test/test.txt
echo "Total line count is $count"
[root@localhost test]# bash readtest.sh
Current line 1 - this is test text.
Current line 2 - this is second line.
Current line 3 - Hello world
Current line 4 - C# Main
Current line 5 - Python
Total line count is 5

正文同步在Wechat订阅号上揭发,如各位小同伙们赏识作者的篇章,也得以关心本人的微信订阅号:woaitest,或扫描上面包车型大巴二维码加多关怀:
manbetx手机网页版 1

cp
拷贝命令
cp 1.txt 2.txt
把当前目录下的1.txt文本复制作而成2.txt(2.txt是由此cp命令成立的,内容与1.txt相符卡塔 尔(阿拉伯语:قطر‎
cp 1.txt test 把1.txt拷贝到test子目录下
cp -i 1.txt test 目的目录下意气风发旦有该公文,则提示是或不是覆盖
cp -v 1.txt test 显得拷贝命令施行进度
cp -R * test 把当前目录下的具备东西复制到test目录下

大旨用法

   
read命令主要用于从标准输入读取内容或从文件中读取内容,并把音讯保存到变量中。其常用用法如下所示:

read [选项] [文件]
选项 解释
-a array 将内容读取到数值中,变量默认为数组且以空格做为分割符
-d delimiter 遇到指定的字符即停止读取
-n nchars 指定最多可以读入的字符数,即定义输入文本的长度
-r 屏蔽转义符
-p prompt 显示提示信息
-s 静默模式,在输入字符时不在终端中显示,常用于密码输入等
-t timeout 指定超时时间
-u FD 从文件描述符中读入,该FD可以由exec开启

cd
//.代表当前目录,..表示上一目录
cd linhai 进入linhai子目录
cd ..重返上意气风发层目录
cd /切换来跟目录
cd ~切换来顾客目录

mkdir
营造子目录//不可能在不设有的目录下创制子目录
mkdir test 在当前目录下树立二个test子目录
mkdir /test 在跟目录下树立三个test子目录

locate 查找命令//比find速度快 locate 2.cpp
查找含有2.cpp的有着文件,展现其相对路线

manbetx手机网页版 2

pwd
显示当前所在目录命令
pwd 显示当前所在目录(展现为二个目录的相对地址卡塔 尔(阿拉伯语:قطر‎

find
查找文件命令
find / -name 1.txt -print
从跟目录下询问名叫1.txt的文书,并呈现出来

more
让镜头暂停
ls -l|more(more 1.txt卡塔尔国当内容抢先时用more表示,按放肆键下风流倜傥页

rm
删除命令
rm 1.txt 删减当前目录下的1.txt文本
rm * 删除当前目录下的所有的事
rm -f *.txt 强制删除当前目录下的豆蔻梢头类公事,无提醒
rm -i *.txt 删除时会根据文件个数逐风度翩翩提示 遇见目录则跳过
rm -r test 删除test目录及其目录内的持有剧情

exit   退出

ls
显示目录
ls 显示当前目录下的兼具文件
ls -l 显示当前目录下的保有文件的详细新闻
ls -a 呈现全部文件和目录,只要分化正是.和..目录
ls -A 展现全部文件和目录

file
呈现文件类型
file 2.cpp 展现2.cpp的文件格式

rmdir 删除目录//只可以删除空的子目录 rmdir tmp 删除当前目录下的tmp子目录
rmdir /tmp 删除跟目录下的tmp子目录

mv
移动或改变文件名
mv 1.txt test 把1.txt平移到test文件夹中
mv 1.txt 2.cpp 把1.txt重命名称为2.cpp

cat 查看文件 1.txt 翻看1.txt文本内容 //只好打开下超级目录
-b     不展现文件中的空行。
-A    相当于 -v -E -T (-vET)。
-E     在文书的每风姿洒脱行行尾加上“$”字符。
-T     将文件中的Tab键用字符“^I”来呈现。
-n    在文书的每行后面突显行号。
-s     将接二连三的三个空行用贰个空行来体现。
-v    突显除Tab和Enter之外的兼具字符。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图