bash átirányítás (i/o redirect)

Kezdőlap Fórumok SOS! Bajban vagyok bash átirányítás (i/o redirect)

10 bejegyzés megtekintése - 1-10 / 16
  • Szerző
    Bejegyzés
  • #2069530
    aty
    Felhasználó

      Mert egy kacsacsõr törli a fájlt és csak az új tartalommal tölti fel. Két kacsacsõr folytatja a fájlt.
      Tehát:

      Code:
      ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt >> http://ftp.log 2>>&1
      #2069531
      aty
      Felhasználó

        Különben „&>>” mindkettõt átirányítja, most látom.

        #2069532
        supervazi
        Felhasználó

          asszed nem próbáltam…

          nem mûködik…

          #2069533
          aty
          Felhasználó

            „ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt >> http://ftp.log 2>>&1”
            Ezt is? Mert én is próbáltam, és mûködik.
            A &-et most láttam elõször az általad linkelt oldalon, és soha nem próbáltam.

            #2069534
            supervazi
            Felhasználó

              ./ftpput.sh: line 52: syntax error near unexpected token `&’
              ./ftpput.sh: line 52: `        $ftpcmd -u $username -p $password $host $ftproot $pathtofile/$filetoupload >> $logfile 2>>&1′

              ./ftpput.sh: line 52: syntax error near unexpected token `>’
              ./ftpput.sh: line 52: `        $ftpcmd -u $username -p $password $host $ftproot $pathtofile/$filetoupload &>> $logfile’

              se ez se az…

              #2069535
              aty
              Felhasználó

                Ez már a scripted hibája, mert az io így mûködik az biztos.
                Ha nem változóban van a logfile akkor se jó?

                #2069536
                aty
                Felhasználó

                  Meg ha &1 helyett $logfile lenne?

                  #2069537
                  supervazi
                  Felhasználó

                    ok.

                    kivettem a scriptbõl ezt a sort.

                    most parancssorból futtatva:

                    # ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt
                    test.txt:                          15.00 B    19.80 kB/s
                    #

                    eddig ok, most

                    # ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt > http://ftp.log
                    test.txt:                          15.00 B    19.80 kB/s
                    test.txt:                          15.00 B    19.80 kB/s  -ezt miért írja ki kétszer????
                    # cat http://ftp.log
                    #

                    az http://ftp.log létezik, de üres!!
                    akkor:

                    # ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt >> http://ftp.log
                    test.txt:                          15.00 B    19.80 kB/s
                    test.txt:                          15.00 B    19.80 kB/s  ????
                    # cat http://ftp.log
                    #

                    az http://ftp.log továbbra is üres 🙁

                    # ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt &> http://ftp.log
                    # – itt most nincs kimenet a képernyõre
                    # cat http://ftp.log
                    test.txt:                          15.00 B    19.80 kB/s
                    test.txt:                          15.00 B    19.80 kB/s
                    #

                    ez már jobb, de miért kétszer?
                    csakhogy nekem toldani kéne a log végére

                    # ncftpput -u felhasznalonev -p jelszo http://ftp.ftp.com / /home/user/file.txt &>> http://ftp.log
                    -bash: syntax error near unexpected token `>’

                    🙁

                    már semmit sem értek…

                    lehet, hogy ez az ncftpput így mûködik?

                    #2069538
                    supervazi
                    Felhasználó

                      azt hiszem megvan a probléma okozója:

                      man ncftpput

                      ezt a parancsot kellett volna kiadni legelõször  🙂

                      -v/-V  Do (do not) use progress meters.  The default is to use progress meters if the output stream is a TTY.

                      tehát ami a log-ba került hibátlan futás idején az egy „progress meter” vége volt, de ha a stderr át van irányítva akkor az alapértelmezett -v kapcsoló -V -re vált, vagyis kikapcsolja a „progress metert”. Ezért volt csak a hibaüzenet a log-ban ha parancs végén ott a 2>&1.

                      tehát a helyes parancs így néz ki:

                      $ftpcmd -v -u $username -p $password $host $ftproot $pathtofile/$filetoupload >> $logfile 2>&1

                      Még van mit szépítni rajta (mármint a log-on, mert így nem csak egy sor a helyes futás).

                      Kösz a segítséget.

                      #2069539
                      uzsolt
                      Felhasználó
                        supervazi wrote:
                        Még van mit szépítni rajta (mármint a log-on, mert így nem csak egy sor a helyes futás).

                        uniq ?
                        Gondolom: hosszú_parancsod_fájlba_irányítás_nélkül | uniq >> logfile

                      10 bejegyzés megtekintése - 1-10 / 16
                      • Be kell jelentkezni a hozzászóláshoz.