Shell编程学习之输入命令与输出命令

  • 输入命令read:
  • 类似于C语言中的scanf函数;
  • 注意事项:
  • 1.若输入多个变量,需要用空格分隔开;
  • 2.若输入多个变量值,分开写;
  • 3.若输入一个数组,需要-a选项,输入时,数组成员需要用空格分隔开;
  • 4.若输入时,需要给用户提示信息,使用-p选项;
  • 5.若输入时,需要等待用户输入特定时间,使用-t选项;
  • 6.若输入时,需要读取固定的字符个数,使用-n选项;
  • 7.若输入时,需要取消输入的回显,使用-s选项;
  • 测试代码:
powershell 复制代码
#!/bin/bash

read K1 K2 K3

echo $K1
echo $K2
echo $K3

echo "----------------"

read K4
read K5
read K6

echo $K4
echo $K5
echo $K6
echo "----------------"

read -a M1

echo ${M1[0]}
echo ${M1[@]}
echo ${#M1[@]}
echo "----------------"

read -t 2 K7
echo $K7
echo "----------------"

read -n 4 K8
echo $K8
echo "----------------"

read -s K9
echo $K9
echo "----------------"

read -n 4 -s -t 2 -p "请输入:" K10
echo $K10
  • 运行结果:
powershell 复制代码
13 15 17
13
15
17
----------------
12
11
25
12
11
25
----------------
98 52 36 41 56 85
98
98 52 36 41 56 85
6
----------------

----------------
4 5 4 5
----------------
6
----------------
请输入:5
  • 输出命令echo:

  • 类似于C语言中的printf函数;

  • 注意事项:

  • 1.使用时,不需要使用换行,因为输出时,自带换行;

  • 2.若是不需要换行,使用-n选项;

  • 3.若是识别转义字符,使用-e选项;

  • 测试代码:

powershell 复制代码
#!/bin/bash

K1=WELCOME
K2=YOU

echo $K1 $K2

echo -n $K1

echo $K2

echo -e "hi\nbeijing"
  • 运行结果:
powershell 复制代码
WELCOME YOU
WELCOMEYOU
hi
beijing
相关推荐
星恒随风几秒前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络
陈布衣29 分钟前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
Oiiouui2 小时前
linux服务器部署Logto后端与对应前端的实现
linux·服务器·前端·后端
ITKEY_3 小时前
用 Emacs Dired 实现 em:退出文件管理器后,让终端自动切换目录
linux·服务器·emacs
wt95273 小时前
VMware 虚拟机磁盘扩容实战文档(Ubuntu 22.04 + LVM)
linux·后端
就像楞次定律3 小时前
【Linux 学习记之二】C++ 构建体系与底层链接机制的深度透视(2)
linux·后端
无足鸟ICT3 小时前
【RHCA+】slabtop命令(查看slab缓存)
linux
且从容.3 小时前
Ubuntu 安装 Docker
linux·ubuntu·docker
青梅味猪大肠4 小时前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
沫璃染墨5 小时前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp