需要在一行上输出 bash 脚本 - curl 和 >> 产生 2 行

需要在一行上输出 bash 脚本 - curl 和 >> 产生 2 行

我正在运行这个 bash 脚本:

#!/bin/sh
date +"%Y-%m-%d %H:%M:%S " | tr -d 'n' >> /home/test_a5gh/Pub_IP.txt
curl http://checkip.amazonaws.com?newline -s >> /home/test_a5gh/Pub_IP.txt
cat /home/test_a5gh/Pub_IP.txt

创建上述文件后,我将其放在文件夹中/home/test_a5gh/,然后使脚本可执行:

$ sudo chmod u+x testip.sh

接下来,为了测试脚本,我运行了:

$ ./testip.sh

但是,此命令的输出分为两行。以下是示例:

2011-22-33 16:10:27 
111.222.333.444

我需要输出出现在一行上,如下所示:

2011-22-33 16:10:27 111.222.333.444

附加信息:

脚本取自这里

问题:

有没有办法让这个输出只显示在一行上?

答案1

以下是一种方法:

#!/bin/bash

mydate=$(date '+%Y-%m-%d %H:%M:%S')
myip=$(curl http://checkip.amazonaws.com?newline -s)

printf '%s %s\n' "$mydate" "$myip" >> /home/test_a5gh/Pub_IP.txt

仅供参考,您不需要在自己的主目录中拥有自己的文件sudochmod

相关内容