亲宝软件园·资讯

展开

shell脚本换行问题实战记录

flyflyflya 人气:0

在shell编程中遇到一些需要换行的情况,在这里记录一下,后续还有

1-脚本代码太长需要换行

这个情况是指我们某一些代码,或者指令需要输入的参数太多太长,不易于阅读与维护

在结尾加上\即可

# 之前的代码(现实生活中不会这么用,这里是举个例子假设有个长命令)
ls -ll /home && cd shell && ls -ll
 
# 之后的代码 (得到的结果一样)
ls -ll /home && \
cd shell && \
ls -ll #最后一行不要\了

需要注意

  1. 每个换行\后面不能有空格,必须直接跟回车。
  2. 最后一行参数不要有换行符。

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 :
 >

参考文档:

总结

加载全部内容

相关教程
猜你喜欢
用户评论