Bash Расширение переменных и пользовательский ввод от пользователя - PullRequest
0 голосов
/ 27 мая 2020

Есть ли лучший способ расширения переменных в 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

извините, если что-то неявное.

...