首页 > 解决方案 > 变量显示在终端中,而不是附加到 Bash 上的文件中

问题描述

我正在做一个涉及将变量附加到文件的分配。但输出在终端中输出,而不是在文件中输出。你能帮我吗?

这是代码


#!/bin/bash

cdate=$ date | awk '{print $2" "$3" "$4}'
IP_r=$ $cdate ifconfig ens33 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}'

echo $IP_r >> /home/admin17/ip_address.log

这是输出

24 Dec 23:52:25
192.168.180.131
admin17@SERVERAS:~$

基本上我想要文件 /home/admin17/ip_address.log 中的日期和 IP 地址

谢谢

标签: linuxbashvariablessyntaxappend

解决方案


试试这个:

cdate="$(date | awk '{print $2" "$3" "$4}')"
IP_r="$(ifconfig ens33 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}')"

echo $cdate $IP_r >> "/home/admin17/ip_address.log"`

如果你想在不同的行上输出,那么只需使用 \n

echo -e $cdate\n$IP_r >> "/home/admin17/ip_address.log"

~/ip_address.log 的输出:

 cat ~/ip_address.log
 25 Dec 01:08:54
 192.168.1.104

推荐阅读