当前位置: 首页 > 知识库问答 >
问题:

如何隐藏脚本的输出,同时解析内容以显示反馈?

蒋承教
2023-03-14

我有以下bash脚本,它扩展了输出大量信息的卷。

我想隐藏脚本命令的所有输出,只在脚本开始时捕获卷的大小,然后在脚本结束时捕获,并输出一行包含更改的内容。

脚本:

#!/bin/bash

du -h
printf "Fix\nFix\n" |parted ---pretend-input-tty /dev/sda print
parted /dev/sda resizepart 3 100%
pvresize /dev/sda3
lvextend -l +100%FREE /dev/SystemVG/root
xfs_growfs /dev/SystemVG/root
du -h

启动时的du-h命令输出以下内容:

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/SystemVG-root 12G 6.4G 5.4G 55% /
devtmpfs 858M 0 858M 0% /dev
tmpfs 870M 0 870M 0% /dev/shm
tmpfs 870M 9.4M 860M 2% /run
tmpfs 870M 0 870M 0% /sys/fs/cgroup
/dev/sda2 1.9G 49M 1.8G 3% /boot
/dev/sda1 71M 12M 60M 16% /boot/efi
tmpfs 174M 0 174M 0% /run/user/0

末尾的du-h命令输出以下内容:

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/SystemVG-root 21G 6.4G 14G 32% /
devtmpfs 858M 0 858M 0% /dev
tmpfs 870M 0 870M 0% /dev/shm
tmpfs 870M 9.4M 860M 2% /run
tmpfs 870M 0 870M 0% /sys/fs/cgroup
/dev/sda2 1.9G 49M 1.8G 3% /boot
/dev/sda1 71M 12M 60M 16% /boot/efi
tmpfs 174M 0 174M 0% /run/user/0

我试图实现的输出如下:

[root@system]# ./expandvolume.sh
Volume has been expanded from 12G to 21G.
[root@system]#

共有1个答案

董法
2023-03-14

如果您可以提供文件系统名称,您可以像这样处理du输出:

filesystem='SystemVG'
start_du=$(du -h | grep "$filesystem" | awk '{print $2}')

...

end_du=$(du -h | grep "$filesystem" | awk '{print $2}')
echo "Volume has been expanded from $start_du to $end_du"

扩展卷的中间步骤只需要将stdout和/或stderr转移到/dev/null以抑制输出,例如,<code>pvresize/dev/sda3

 类似资料:
  • 对于 被选中的国家 ,只显示 输入线 或者 输出线   只显示输入线   只显示输出线 controller.showInOnly(true); controller.showInOnly(false); controller.showOutOnly(true); controller.showOutOnly(false);

  • 在我的ionic应用程序中,注册和登录工作正常,数据保存在Firebase中,但我不知道当用户登录或注销时如何在主页中隐藏或显示内容。 在我的身份验证中。服务ts,用户登录时设置uid(用户ID) 家页html 所以我想在authentication.service.ts中使用该信息,并且仅在用户未登录时在我的home.page.html中显示注册按钮。

  • 本文向大家介绍控制文字内容的显示与隐藏示例,包括了控制文字内容的显示与隐藏示例的使用技巧和注意事项,需要的朋友参考一下

  • 问题内容: 是否可以隐藏元素的内容,但保持其内容可见?说我有以下代码: HTML: CSS: 我试过了: 使用和设置为,但两者均仍处于隐藏状态 使用;,但随后似乎增加了额外的空间(?) 使用颜色:透明;但是,当然,跨度的内容仍会占用空间 使用,但是 这被搜索引擎和 似乎不适用于span元素(?) 关于如何执行此操作还有其他想法吗? 问题答案: 您可以使用,但是使用此解决方案,隐藏的内容仍然 会占用

  • 问题内容: 我一直在寻找一个很好的技巧,使隐藏/显示内容或仅具有CSS而没有javascript的列表。我已成功执行此操作: 并且它正在工作,但没有达到应有的效果。这是问题所在:显示内容时,您可以通过单击“页面上的任何位置”将其隐藏。如何禁用它?如何通过单击“隐藏”隐藏内容“仅”?先感谢您! 问题答案: 我不会使用复选框,而是使用您已经拥有的代码 CSS HTML 这样,仅在单击hide元素时隐藏

  • 输入一个语句后按回车键,MATLAB自动在屏幕上显示结果,但如果该行命令是以";"结尾,则MATLAB仍会进行运算赋值,但不显示任何输出结果.这一点在生成复杂矩阵时特别有用.例如: A = magic(100);