【发布时间】:2013-12-16 11:13:09
【问题描述】:
我是 shell 脚本的初学者。我正在尝试将 LINUX 命令的输出存储在 MySQL 表中。我需要在一列中选择分区详细信息并在另一列中使用%。我几乎做到了,但我在单列中得到了输出。在表测试中,磁盘是一列,使用的是另一列。我想要的输出是
**DISK** **USED**
filesystem 45%
但我的实际输出是这样的
**DISK USED**
filesystem
45%
我的代码:
df -h | tee /home/abcd/test/monitor.text;
details=$(awk '{ print $1 } ' monitor.text);
echo $details;
used=$(awk '{ print $5}' monitor.text);
echo $used;
mysql test<<EOF;
INSERT INTO test_1 (details,used) VALUES ('$details','$used');
EOF
请给我所需输出的正确代码。
提前谢谢你。
【问题讨论】:
-
你的意思是你在输出中有两行,因为你有两个单独的
echo语句?如果是这样,请将它们替换为单个语句 (echo $details $used)。如果不是,请更清楚您所说的“输出”是什么意思。 -
输出出现在单列中。不管输出是什么
-
什么输出?
df的输出?awk的输出?脚本的输出?数据库上SELECT的输出? -
如果将
INSERT中的单引号替换为双引号会怎样,即:INSERT INTO test_1 (details,used) VALUES ("$details","$used")? -
好的。如果你使用
INSERT INTO test_1 (details,used) VALUES ("Filesystem","45%")会发生什么?