"EOL" 및 bash 리디렉션을 사용하여 "cat"을 사용하여 코드 조각을 파일에 pip하는 방법은 무엇입니까?

"EOL" 및 bash 리디렉션을 사용하여 "cat"을 사용하여 코드 조각을 파일에 pip하는 방법은 무엇입니까?

코드 조각을 $x.

하지만, 에서 구문 오류가 발생합니다 <<--.

암호

cat > "$x" <<-- EOF
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
#auto lo wlan0
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
#iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface $interface inet static
        address 192.168.50.5
        netmask 255.255.255.0
        network 192.168.50.0
        broadcast 192.168.50.255
allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
EOF

답변1

cat < "$x" <<-- EOL

구문 오류는 아닌 것 같습니다. 단지 문자열 -(여기 문서에는 선택적 대시만 필요합니다.), 그 뒤에 EOL일반 인수 가 옵니다 cat. 즉, 와 관련이 있다.

cat EOL < "$x" <<--

이는 다음과 같습니다.

cat EOL <<--

입력을 두 번 리디렉션하기 때문입니다 cat. 후자는 효과가 있지만 파일 이름도 제공되기 때문에 여기에서는 읽으려고 cat시도하지 않습니다 .stdin

내 생각엔 당신이 원하는 건

cat > "$x" <<-EOF
    blah
EOF

관련 정보