이 스크립트가 Kali의 bash에서는 작동하지만 Xubuntu에서는 작동하지 않는 이유는 무엇입니까?

이 스크립트가 Kali의 bash에서는 작동하지만 Xubuntu에서는 작동하지 않는 이유는 무엇입니까?

집에 있는 동안 Kali 가상 머신에 작성한 스크립트가 있습니다. 그곳에서는 잘 작동했지만 지금은 Xubuntu를 설치하고 있는데 전혀 작동하지 않습니다. help 명령을 통해 사용하고 있는 정확한 쉘은 GNU bash 버전 4.2.25입니다. 집에 어떤 쉘이 있는지 잘 모르겠습니다(최신 버전이라고 가정). 제가 여기서 작업하고 있는 쉘은 오래되어 스크립트에서 사용하고 있는 일부 기능을 지원하지 않는다고 가정하겠습니다. 여기에서 실행하면 머리글과 바닥글이 인쇄되지만 그 사이에는 아무것도 인쇄되지 않습니다. 어떤 도움이나 조언이라도 대단히 감사하겠습니다.

#!/bin/bash

echo ""
echo "######## WHOIS: "$1

# Whois using the inputted parameter
whois $1 |\

# Remove EOL characters
tr -d '\015\032' |\

# Remove spaces
sed 's/^ *//' |\

# Remove unnecessary words from output
grep -v -e "@" -e "http://" -e "WHOIS" > temp.txt

# Display all of the date lines
egrep -i "ate: " temp.txt

# Remove the tmp file
rm -rf temp.txt

echo "------- DONE!"
echo ""

답변1

귀하의 의견과 빈 줄로 인해 파이프 연결이 끊어졌습니다. 이것을 사용하십시오 :

#!/bin/bash

echo ""
echo "######## WHOIS: "$1

whois $1 |
tr -d '\015\032' |
sed 's/^ *//' |
grep -v -e "@" -e "http://" -e "WHOIS" |
egrep -i "ate: " 

echo "------- DONE!"
echo ""

파이프가 라인 끝에 있으면 라인 연속이 필요하지 않습니다. 댓글을 남기고 싶다면 파이프 위 블록에 적어주세요.

관련 정보