나는 다른 bash 스크립트를 dinamically 생성하는 스크립트를 가지고있다. 이 히어 닥 스크립트에서 카운터를 보여주는 무한 루프 (!이 작품)이 : 당신은이를 넣으면배시. 카운터와 더 많은 정보를 보여주는 무한 루프
date1=`date +%s`
while true; do
echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r";
done
이 루프는 잘 작동한다. 문제는 카운터뿐만 아니라 보여줄 필요가 있다는 것입니다. 더 많은 정보가 필요합니다 (일부 정적 데이터).
#!/bin/bash
dir="/tmp/"
my_file="generatedscript.sh"
rm -rf "$dir$my_file" > /dev/null 2>&1
exec 3>"$dir$my_file"
cat >&3 <<-'EOF'
#!/bin/bash
date1=`date +%s`
while true; do
echo -ne "Info\n" # this is the damned line, if you remove it the counter works fine
echo -ne "Time counter: $(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r";
done
EOF
exec 3>&-
xterm -hold -geometry 78x25+0+0 -T "Testing" -e "bash \"$dir$my_file\"" > /dev/null 2>&1 &
이 다른 라인의 "시간"단어와 중복되는 라인을 많이하고 정보 라인과 xterm 윈도우를 보여줍니다 내 작동하지 않는 코드를 넣을 수 있습니다. 나는 Time 카운터 라인과 카운터가 실행중인 정보 라인을 별도로 보여주고 싶다. 단 한 번만!
echo echo -ne "Info \ n"카운터를 제거하면 카운터가 정상적으로 실행 중이고 한 번만 ...이 정보 위의 다른 다른 줄 (정보와 반향)을 어떻게 배치 할 수 있습니까? 되풀이? 가능하니? 이것에 도달하는 방법에 대한 아이디어? 고맙습니다.
여기 왜 파일 설명자 3을 사용하고 있는지 잘 모르는 이유는 무엇입니까? 'cat> "$ dir/$ my_file"<< 'EOF'... '는 훨씬 간단합니다. – chepner
'echo -ne "INFO \ n"'는'echo INFO'와 다르지 않습니다. – chepner
네, 똑같은 ... 다른 일을 시도했기 때문에 ... 실패했습니다. 그리고 cat> "$ dir/$ my_file"<<이 스크립트에서 별도의 스크립트를 생성하려면 " 'EOF'가 필요합니다. 필요합니다 ... 아마도 게시물의 대상과 관련이 없습니다. 어쨌든 문제를 해결하는 방법을 알고 있습니까? 답변 주셔서 감사합니다. – OscarAkaElvis