Why does my while loop ignore the condition and keep going forever?












1















I have the following bash script which is supposed to record temperature data of my 2 cpu cores and send it to a file until the file is 10000 lines long, however the 10000 line while loop condition is not doing anything and it keeps going past 10000 lines. Can anyone see why it would do that?



lc=`wc -l temps.log2 | grep -o '[0-9]*'`
while [ $lc -lt 10000 ]
do
sensors | grep ^Core |
(
DATE=$(date +%m/%d/%y-%H:%M:%S)
while read LINE
do
echo "$DATE $LINE"
done
) >> temps.log2
done









share|improve this question





























    1















    I have the following bash script which is supposed to record temperature data of my 2 cpu cores and send it to a file until the file is 10000 lines long, however the 10000 line while loop condition is not doing anything and it keeps going past 10000 lines. Can anyone see why it would do that?



    lc=`wc -l temps.log2 | grep -o '[0-9]*'`
    while [ $lc -lt 10000 ]
    do
    sensors | grep ^Core |
    (
    DATE=$(date +%m/%d/%y-%H:%M:%S)
    while read LINE
    do
    echo "$DATE $LINE"
    done
    ) >> temps.log2
    done









    share|improve this question



























      1












      1








      1








      I have the following bash script which is supposed to record temperature data of my 2 cpu cores and send it to a file until the file is 10000 lines long, however the 10000 line while loop condition is not doing anything and it keeps going past 10000 lines. Can anyone see why it would do that?



      lc=`wc -l temps.log2 | grep -o '[0-9]*'`
      while [ $lc -lt 10000 ]
      do
      sensors | grep ^Core |
      (
      DATE=$(date +%m/%d/%y-%H:%M:%S)
      while read LINE
      do
      echo "$DATE $LINE"
      done
      ) >> temps.log2
      done









      share|improve this question
















      I have the following bash script which is supposed to record temperature data of my 2 cpu cores and send it to a file until the file is 10000 lines long, however the 10000 line while loop condition is not doing anything and it keeps going past 10000 lines. Can anyone see why it would do that?



      lc=`wc -l temps.log2 | grep -o '[0-9]*'`
      while [ $lc -lt 10000 ]
      do
      sensors | grep ^Core |
      (
      DATE=$(date +%m/%d/%y-%H:%M:%S)
      while read LINE
      do
      echo "$DATE $LINE"
      done
      ) >> temps.log2
      done






      bash






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 1 hour ago









      Rui F Ribeiro

      39.6k1479132




      39.6k1479132










      asked Nov 26 '16 at 4:54









      wes1099wes1099

      2015




      2015






















          1 Answer
          1






          active

          oldest

          votes


















          2














          $lc isn't being incremented in the loop






          share|improve this answer
























          • wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

            – wes1099
            Nov 26 '16 at 5:49











          • im a moron again. my grep statement was returning more than what I wanted it to.

            – wes1099
            Nov 26 '16 at 6:06











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f326132%2fwhy-does-my-while-loop-ignore-the-condition-and-keep-going-forever%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          $lc isn't being incremented in the loop






          share|improve this answer
























          • wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

            – wes1099
            Nov 26 '16 at 5:49











          • im a moron again. my grep statement was returning more than what I wanted it to.

            – wes1099
            Nov 26 '16 at 6:06
















          2














          $lc isn't being incremented in the loop






          share|improve this answer
























          • wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

            – wes1099
            Nov 26 '16 at 5:49











          • im a moron again. my grep statement was returning more than what I wanted it to.

            – wes1099
            Nov 26 '16 at 6:06














          2












          2








          2







          $lc isn't being incremented in the loop






          share|improve this answer













          $lc isn't being incremented in the loop







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 26 '16 at 5:06









          John KerlJohn Kerl

          1465




          1465













          • wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

            – wes1099
            Nov 26 '16 at 5:49











          • im a moron again. my grep statement was returning more than what I wanted it to.

            – wes1099
            Nov 26 '16 at 6:06



















          • wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

            – wes1099
            Nov 26 '16 at 5:49











          • im a moron again. my grep statement was returning more than what I wanted it to.

            – wes1099
            Nov 26 '16 at 6:06

















          wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

          – wes1099
          Nov 26 '16 at 5:49





          wait, now it is saying templogv2.sh: 2: [: 1: unexpected operator and all i did was copy the first line and put it inside the while loop.

          – wes1099
          Nov 26 '16 at 5:49













          im a moron again. my grep statement was returning more than what I wanted it to.

          – wes1099
          Nov 26 '16 at 6:06





          im a moron again. my grep statement was returning more than what I wanted it to.

          – wes1099
          Nov 26 '16 at 6:06


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f326132%2fwhy-does-my-while-loop-ignore-the-condition-and-keep-going-forever%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Loup dans la culture

          How to solve the problem of ntp “Unable to contact time server” from KDE?

          ASUS Zenbook UX433/UX333 — Configure Touchpad-embedded numpad on Linux