Linux 基础教程 45-read命令

着力用法

   
read命令主要用来自专业输入读取内容要由文本被读取内容,并把信息保存至变量中。其不时因此用法如下所示:

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

一部分Linux命令整理复习:

就此法示例

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

正文同步于微信订阅号上公布,如各位小伙伴等喜欢自己之稿子,也堪关心我的微信订阅号:woaitest,或扫描下的次维码添加关注:
图片 1

cd  使用权限是有所使用者
cd  /home 进入 home 目录下,cd..退到上一个目录。
adduser /useradd 使用权力是系统管理员,添加用户
useradd -c -d -e -f
-c comment 新使用者在密码档(通常是/etc/passwd)的诠释资料
-d home_dir 设定使用者的 home
目录也home_dir,预设值为预设的home后面加用户之账号
-e expire_date 设定是账号饿使用时限(格式YYYY-MM-DD),默认为永久有效
userdel +username 删除用户,默认不删home目录

cat  以权限所有人数
动用办法 cat [-AbeenstTuv]  [–help]  [–version] filename
拿档案串联接后传基本输出 filename 到其他一个文档
-n 或 –number 由1从头对具有出口的行数编号
-b –number-nonblank 和-n相似 只不过对于空行不编号
-s  –squeeze-blank 当遇到有连续两推行以上之空域行,就带来换位一行的空
-v  –show–nonprinting
cat -n textfile1 > textfile2
吧textfile1之情丰富行号输入到textfile2中
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容
cat 也足以为此来打 image file。例如要造软碟的 image
file,将软碟放好后自
cat /dev/fd0 > OUTFILE
反倒的,如果想管 image file 写及软碟,请从今
cat IMG_FILE > /dev/fd0
  
  注:
   1. OUTFILE 拄输出的 image 档名。
   2. IMG_FILE 指 image file。
   3. 假设由 image file 写回 device 时,device 容量需和一定。
   4. 一般用当打开机磁片。
  
ls 显示指定工作目录下的内容(列出目前干活目录的所蕴藏的档案及子目录)
-a 显示所有文档及目录 显示隐藏文件
-l
显示有除了档案称之外的,也将档案的形状,权限,拥有者,大小等信息详细列出
-r 将档案一反次序显示
-t 将档案为立时间排序列出
-A  同-a 但非排有“.” 和”..”
-F列有底档案称后加一符号;例如可实行文档加* 目录加/
-R 若目录下出文档,则以下的文档也依序列出
 列出当下干活目录下有所名称是 s 开头的档案,愈新的排愈后面 :
   ls -ltr s*
  
cp  复制
cp  source dest
-a极可能的拿档案状态、权限等材料都照原状态复制
-r 若source中之所蕴涵目录名,则拿引得下的档案亦皆依序拷贝的目的目录下
-f 若目的目有同的档案在。在复制之前先行让跟删除在展开拷贝。

图片 2

发表评论

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

网站地图xml地图