Есть ли лучший способ расширения переменных в bash, я просто читаю и учусь. У меня есть код ниже, в котором я сохраняю строку заголовка команды, потому что, когда мы использовали grep из команды, она терялась, и мы получали только данные grepped
. Однако я также ищу ввод в виде файла, который будет предоставлен пользователем, а затем читаю файл построчно.
Есть ли лучший способ сделать это, пожалуйста, посоветуйте.
Код
#!/bin/bash
#
# Output file for bhost output redirection
OUTFILE="/home/nxf59093/$(hostname -s)_bhost_out.log"
# Variable for bhosts command
BHST="/opt/lsf/bin/bhosts"
# Just to take the heaer line of the bhosts command & redirect to OUTFILE
"${BHST}" -w | head -n 1 > "${OUTFILE}"
# Input file name argument to be given along with script execution
# example: ./get_bhots_report.sh testfile
filename=$1
# read the file line by line
while read line;
do
# stuff to do here
"${BHST}" -w | grep $line >> "${OUTFILE}"
done < $filename
Вывод:
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV
dpc2425 closed_Full - 36 36 36 0 0 0
dpc2426 closed_Busy - 36 31 31 0 0 0
dpc2427 closed_Full - 36 36 36 0 0 0
извините, если что-то неявное.