Вы можете получить использование каталога / без «%» с помощью awk
. По сути, awk
в следующей команде:
выводит пятое поле (print $5 ).
df -h / | awk ' END { gsub("%",""); print $5 } '
Запуск:
$ df -h / | awk ' END { gsub("%",""); print $5 } '
4
Или чтобы получить все номера:
$ df -h / | awk ' END { gsub("%",""); gsub("G",""); print $2" "$3" "$4" "$5 } '
234 7,6 214 4
Это можно сделать с помощью каналов и FIFO.
Например, вот мой тестовый скриптblackbox.sh
:
#!/bin/bash
# Here i output the value to be added.
echo "10 30"
# Here i read the result and depending on it, write good or not good in a file
read result
if [ "${result}" -eq 40 ]; then
echo good > result.txt
else
echo not good > result.txt
fi
Запуск вручную:
$./blackbox.sh
10 30 <~~~~ Script output
40 <~~~~~~~ My input
$ cat result.txt
good
$
Теперь я создаю FIFO с mkfifo coin
и снова запускаю следующую строку:
$ rm result.txt && cat coin |./blackbox.sh | ( read a b ; echo $((a+b)) > coin )
$ cat result.txt
good
Обратите внимание, что:
blackbox.sh
во что-то, очевидно, сделает его невидимым для вас. $(( ))
разрешить арифметику в Bash.