Prvt_Yadv는 스크립트를 사용하여 텍스트 파일의 패키지 목록에서 패키지를 설치하는 방법을 설명하는 몇 가지 코드를 작성했습니다.
내 질문은 그가 선택한 조합을 선택한 이유를 설명할 수 있는 사람이 있습니까?
위의 방법을 사용하지 않고도 작동하게 할 수 있었지만 매우 불안정합니다.
내 코드:
#!/bin/bash
#=====================================
# Path to Instalation & Scripts
#=====================================
path2Dev="/home/`id -u -n`/Development/Install"
input="$path2Dev/DepList_Fedora.txt"
#--------------------------------------
#=====================================
## Make stringBuild Global
#=====================================
export stringBuild=" "
#--------------------------------------
#=====================================
## Build string with no Fluff
## from List of packages
#--------------------------------------
while IFS= read -r line
do
stringBuild+=" $line"
done < "$input"
### End of Loop ###
#############################
# Get Dependencys for Build
# from values in ("input")
#============================
sudo dnf group install --assumeyes "C Development Tools and Libraries" ;
echo $stringBuild ## De-Bug
sudo dnf install --assumeyes "$stringBuild"
## Tried `$stringBuild` and $stringbuild
Prvt_Yadv 코드:
sudo dnf install --assumeyes $(awk -F ',' 'BEGIN {ORS=" "} {for(i=1;i<=NF;i++) {print $i}}' $input)
이것이 원래 코드보다 더 안정적으로 보이는 이유는 무엇입니까? 이유를 설명해 주실 수 있나요?
DepList_Fedora.txt
bison-devel
arm-none-eabi-gcc
arm-none-eabi-gcc-cs
arm-none-eabi-gcc-cs-c++
arm-none-eabi-binutils-cs
patch
gperftools-devel
ncurses-devel
cdk
cdk-devel
ccrtp
ccrtp-devel
doxygen
python3-hidapi
mingw64-hidapi
hidapi-devel
xclip
autoconf213
libtool-ltdl-devel
python2-devel
guile
nodejs-node-expat
mingw64-libltdl
libusb-devel
libusb
autoconf
texinfo
libtool
libftdi-devel
gcc-arm-linux-gnu
flex
gperf
git
bison
zlib