shell脚本换行问题实战记录
flyflyflya 人气:0在shell编程中遇到一些需要换行的情况,在这里记录一下,后续还有
1-脚本代码太长需要换行
这个情况是指我们某一些代码,或者指令需要输入的参数太多太长,不易于阅读与维护
在结尾加上\即可
# 之前的代码(现实生活中不会这么用,这里是举个例子假设有个长命令) ls -ll /home && cd shell && ls -ll # 之后的代码 (得到的结果一样) ls -ll /home && \ cd shell && \ ls -ll #最后一行不要\了
需要注意
- 每个换行\后面不能有空格,必须直接跟回车。
- 最后一行参数不要有换行符。
2-echo输出给用户看的命令太长需要换行
需要输出的结果太长了,需要换行显示更加美观
加参数 -e 使用换行符\n
echo "这句话真的太长了,怎么显示成2行呢?这样就可以啦" 这句话真的太长了,怎么显示成2行呢?这样就可以啦 echo -e "这句话真的太长了,怎么显示成2行呢?\n这样就可以啦" 这句话真的太长了,怎么显示成2行呢? 这样就可以啦
3-read -p提取用户输入的时候提示太长需要换行
read -p 一般需要加一段提示语来提示用户,有时候这个提示语太长了不好看,并且希望让用户输入的命令也另起一行,这样更加直观 需要做如下操作
加$ 表示解析所有字符(因为\默认是转义的,加了$就不转了)
在需要换行的地方增加 \x0a
# 之前的代码 read -p '请选择需要进行的运算:(1-加法 2-减法 3-乘法 4-除法)' rule # 输出的结果如下,并且不会另起一行给用户来输入 请选择需要进行的运算:(1-加法 2-减法 3-乘法 4-除法) # 之后的代码 read -p $'请选择需要进行的运算:\x0a (1-加法 2-减法 3-乘法 4-除法) \x0a' rule # 输出的结果如下,用户需要在第三行输入命令 请选择需要进行的运算: (1-加法 2-减法 3-乘法 4-除法)
或者下面的方法
#!/bin/bash read -p "Please enter a message : `echo $'\n > '`" message # 这样会另起一行并且增加> 提示符让用户输入 Please enter a message : >
参考文档:
总结
加载全部内容