我有
var="a b c"
for i in $var
do
p=`echo -e $p'\n'$i`
done
echo $p
我要打印最后一个回声
a
b
c
注意,我希望变量p包含换行符。我怎么做?
插入 \n
p="${var1}\n${var2}"
echo -e “${p}”
在源代码中插入新行
p="${var1}
${var2}”
echo “${p}”
使用$'\n'
(仅bash和zsh)
p="${var1}"$'\n'"${var2}"
echo “${p}”
\n
p="${var1}\n${var2}"
echo -e "${p}"
echo -e
将两个字符解释"\n"
为换行符。
var="a b c"
first_loop=true
for i in $var
do
p="$p\n$i" # Append
unset first_loop
done
echo -e "$p" # Use -e
避免多余的换行符
var="a b c"
first_loop=1
for i in $var
do
(( $first_loop )) && # "((...))" is bash specific
p="$i" || # First -> Set
p="$p\n$i" # After -> Append
unset first_loop
done
echo -e "$p" # Use -e
使用功能
embed_newline()
{
local p="$1"
shift
for i in "$@"
do
p="$p\n$i" # Append
done
echo -e "$p" # Use -e
}
var="a b c"
p=$( embed_newline $var ) # Do not use double quotes "$var"
echo "$p"
var="a b c"
for i in $var
do
p="$p
$i" # New line directly in the source code
done
echo "$p" # Double quotes required
# But -e not required
避免多余的换行符
var="a b c"
first_loop=1
for i in $var
do
(( $first_loop )) && # "((...))" is bash specific
p="$i" || # First -> Set
p="$p
$i" # After -> Append
unset first_loop
done
echo "$p" # No need -e
使用功能
embed_newline()
{
local p="$1"
shift
for i in "$@"
do
p="$p
$i" # Append
done
echo "$p" # No need -e
}
var="a b c"
p=$( embed_newline $var ) # Do not use double quotes "$var"
echo "$p"
$'\n'
(便携式性较低)bash和zsh解释$'\n'
为换行符。
var="a b c"
for i in $var
do
p="$p"$'\n'"$i"
done
echo "$p" # Double quotes required
# But -e not required
避免多余的换行符
var="a b c"
first_loop=1
for i in $var
do
(( $first_loop )) && # "((...))" is bash specific
p="$i" || # First -> Set
p="$p"$'\n'"$i" # After -> Append
unset first_loop
done
echo "$p" # No need -e
使用功能
embed_newline()
{
local p="$1"
shift
for i in "$@"
do
p="$p"$'\n'"$i" # Append
done
echo "$p" # No need -e
}
var="a b c"
p=$( embed_newline $var ) # Do not use double quotes "$var"
echo "$p"
a
b
c
特别感谢以下答案的贡献者:kevinf,GordonDavisson,l0b0,Dolda2000和Tripleee。
编辑
for
上述bash片段中的循环。这就是我现在的代码,我试着放入“\n”、“ ”和“ ”,但都不起作用,现在我放入“\n”只是为了明确我想在哪里换行: 我的返回值放在mappingDocsVariable中,然后用以下代码生成docx文件:
问题内容: 我在Linux上使用bash shell。我有这个简单的脚本…… 但是,当我运行此脚本时 打印所有输出而没有回车/换行。不知道这是我将输出存储到$ TEMP还是echo命令本身的方式。 如何将命令的输出存储到变量并保留换行符/回车符? 问题答案: 引用 您的变量。原因如下: 不带引号的外壳将替换为其包含的字符(其中之一是换行符)。然后,在调用shell 之前,先使用(IFS)将该字符串
问题内容: 我想在Python中将变量引入字符串中。 例如,看下面的脚本。我只是想为图像起个名字,例如…到,或者如果您使用会计师,因为我可以替换部分价值链以生成计数器。 问题答案: data = self.cmd(“r.out.gdal in=rdata out=geo{0}.tif”.format(i)) self.dataOutTIF.setValue(“geo{0}.tif”.format(
本文向大家介绍如何在Bash脚本中将DOS / Windows换行符(CRLF)转换为Unix换行符(LF)?,包括了如何在Bash脚本中将DOS / Windows换行符(CRLF)转换为Unix换行符(LF)?的使用技巧和注意事项,需要的朋友参考一下 在Windows和Unix系统之间传输文件时,经常会遇到与行尾字符有关的问题。这是因为Windows中的EOL字符在Unix中未被识别为EOL字
问题内容: 我现在想在“摘要”中添加一个变量$ {date}: 但是变量不会在bash中的单引号内扩展。 有可能这样做吗? 注意:GoogleCL是用python编写的命令行程序。我在使用Python 2.6的Ubuntu 10.10上。 问题答案: 我将在列表中添加另一个选项:将变量定义为换行符,然后在双引号中使用该变量。
我对bash脚本感到困惑。 我有以下代码: 我希望能够创建一个变量名称,其中包含命令的第一个参数并带有例如的最后一行的值。 为了说明我想要什么: 那么,我应该如何定义/声明,我应该如何在脚本中调用它? 我试过、、,但我仍然感到困惑。