一个echo命令将1条消息附加到2条不同的行

时间:2019-05-29 15:06:26

标签: bash

我正在尝试在for循环中回显一行,就像这样。

echo "IP=$p some message $l" >> /dir/file

问题是它像这样出来

IP=ipadress
some message loutput

p变量来自for p in ...,而l变量等于来自tail命令的一行 我认为这是由于$ p中的变量替换所致,但我不确定。 我希望所有内容都在同一行中显示,我在做什么错了?

for p in $(cat /home/ips)
do

1 个答案:

答案 0 :(得分:0)

尝试这个吗?:

@ECHO off

SET PATH=%PATH%;C:\Program Files\7-Zip\
for %%a in (*) do CALL:Index "%%~a"
GOTO:EOF

:Index
ECHO %~1
SETLOCAL EnableDelayedExpansion
for /f "tokens=3 delims== " %%a in ('7z.exe l "%~1" ^| FIND "Index"') do CALL:Rename "%~1" %%a
ENDLOCAL
GOTO:EOF

:Rename
SET /A Index=%2+1
REN "%~1" file%Index%.rar

我建议这样做是因为,例如:

echo "IP="$p" some message "$l >> /dir/file

给予:

temp=$(ls -1)
echo $temp

但是

file0 file1 

给予:

echo "$temp"