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

参考文档:

shell之输出换行_happytree001的博客-CSDN博客_shell输出换行shell输出控制换行https://blog.csdn/happytree001/article/details/120774621shell 参数换行 & shell 输出换行的方法_Donald Su的博客-CSDN博客_shell 换行1. shell 参数换行Linux参数太长,一般可取续行符 "\"进行参数换行/续行。反斜杠\ 后面紧跟回车,表示下一行是当前行的续行.如下的代码所示python target_attack.py \ --input_dir="${INPUT_DIR}" \ --output_dir="${OUTPUT_DIR}" \ --max_epsilon="${MAX_EPSILON}...https://blog.csdn/donaldsy/article/details/99938408如何为read命令添加换行符? - 主函数编程网http://main/faq/test-maintain/shell/how-do-i-add-a-line-break-for-read-command/

更多推荐

【shell编程】shell脚本换行问题