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
相关推荐
迷途之人不知返几秒前
【进程控制】-3-进程等待
linux
_upupup23 分钟前
包管理器和vim
linux·服务器
一颗小树x29 分钟前
NVIDIA 驱动故障排查实录:内核升级导致 nvidia-smi 失效
linux·服务器·nvidia驱动·启动失败·内核升级
_smart_boy__39 分钟前
I.MX6U开发板Uboot无法ping Ubuntu问题解决方案(二)
linux·运维·ubuntu
软件开发技术深度爱好者1 小时前
中学生学习工具:多学科自学启导者(轻量版)实现
学习·ai·技术实践
DianSan_ERP1 小时前
多平台订单自动下载与回传的技术实现:从消息推送到状态闭环引言
java·linux·服务器·前端·网络·架构·自动化
Joe_Wang51 小时前
【从0到1学习JVM · 13】点进JDK源码只有一个分号?搞懂本地方法栈与JNI机制
java·jvm·学习·本地方法栈
Android系统攻城狮1 小时前
Linux Gstreamer深度解析之gst_audio_decoder_get_parse_state调用流程与实战(四十九)
linux·音视频·gstreamer音视频·gstreamer音视频进阶
~光~~1 小时前
【嵌入式Linux学习】GFP_NOIO / GFP_NOFS(Linux 内核 gfp 分配标志)
linux·运维·学习
坤坤子吖1 小时前
ELF加载、动态链接、GOT与PLT
linux·笔记·学习