Εμφάνιση 1.606-1.620 από 2222
Θέμα: Ερώτηση για bash
-
11-10-21, 23:02 Απάντηση: Ερώτηση για bash #1606
-
17-10-21, 17:37 Απάντηση: Ερώτηση για bash #1607
Part 2 αυτου που λεω στο μηνυμα 1594 στην προηγουμενη σελιδα.
Θελω να τρεξω το autorun.sh μεσα απο το .config/autostart.sh που ειναι built in λειτουργια στο libreelec. Το .config/autostart.sh λεει αυτα
Κώδικας:# cat autostart.sh ( /usr/bin/sh /storage/downloads/fakelos/autorun.sh )&
Αν τρεξω το .config/autostart.sh τρωω την παρακατω πορτα
Κώδικας:# sh autostart.sh /storage/downloads/fakelos/autorun.sh: cd: line 9: can't cd to scripts/: No such file or directory grabbing the links... python3: can't open file 'thescript.py': [Errno 2] No such file or directory
Το autorun.sh περιεχει ακομα 2 echo και 2 notifications για το kodi (για πριν και μετα την εκτελεση του thescript.py), που τρεχουν κανονικα τη στιγμη που πρεπει.ديميتريس
-
17-10-21, 18:22 Απάντηση: Ερώτηση για bash #1608
Βαρέθηκα να πάω να διαβάσω το μήνυμα αλλά αν θυμάμαι καλά είχες ένα script που είχε $(dirrname $0)/scripts και ήθελες να αφαιρέσεις το dirname. Είναι το ίδιο αρχείο; Αν ναι, μήπως αφήρεσες τελικά το dirname και το έκανες σκέτο cd scripts και όχι cd /full/path/to/scripts όπως είχαμε πει;
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
17-10-21, 18:24 Απάντηση: Ερώτηση για bash #1609
Ναι ετσι το εκανα γιατι το fullpath δεν βολευει εκει μεσα. Αν βαλω παλι το $(dirname $0) θα φτιαχτει?
ديميتريس
-
17-10-21, 20:11 Απάντηση: Ερώτηση για bash #1610
Ε ναι όμως το cd κάνει ό,τι του πεις. Όταν έχεις σκέτο "cd scripts/", τότε θα παίξει μόνο όταν το τρέξεις μέσα στον κεντρικό κατάλογο που έχει τον κατάλογο scripts, όπως διαπίστωσες. Για αυτό σε τέτοιες περιπτώσεις βάζουν όλοι το dirname $0. Ναι θα φτιαχτεί είτε με το dirname ή με το full path. Το full path το είχα προτείνει επειδή μου είπες ότι ήθελες να βγάλεις το dirname.
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
17-10-21, 22:17 Απάντηση: Ερώτηση για bash #1611
Δεν έχω χρησιμοποιήσει ποτέ το dirname, πάντα κάνω αυτό που κάνει το $(dirname $0) χρησιμοποιώντας $(pwd). To ίδιο δεν είναι;
-
17-10-21, 22:41 Απάντηση: Ερώτηση για bash #1612
Το pwd είναι ο κατάλογος που είσαι εκείνη τη στιγμή εσύ και όχι ο κατάλογος που είναι το script (κατά συνέπεια και ο κατάλογος scripts/ που θέλεις).
Κώδικας:% cd /tmp/base % ls scripts/ t.sh* % cat t.sh #!/bin/bash echo script resides in $(dirname $0) echo script running from $(pwd) ls -d $(dirname $0)/scripts ls -d $(pwd)/scripts % ./t.sh script resides in . script running from /tmp/base ./scripts /tmp/base/scripts # Εδώ παίζουν όλα γιατί βρίσκεσαι στον κατάλογο που περιέχει τον scripts/ # Το dirname δίνει . επειδή το αρχείο που έτρεξες είναι το ./t.sh % /tmp/base/t.sh script resides in /tmp/base script running from /tmp/base /tmp/base/scripts /tmp/base/scripts # Εδώ είναι το ίδιο με πριν απλά τρέχουμε το script με full path. Το pwd συνεχίζει να δίνει τον κατάλογο που είσαι. # Το dirname δίνει και αυτό full path επειδή έτσι έτρεξες το αρχείο. % cd .. % ./base/t.sh script resides in ./base script running from /tmp ./base/scripts ls: cannot access '/tmp/scripts': Δεν υπάρχει τέτοιο αρχείο ή κατάλογος # Ωπ εδώ τώρα έχουμε την διαφορά. Το pwd δίνει /tmp οπότε δεν μπορεί να προσπελάσει τον κατάλογο # ενώ το dirname συνεχίζει να δουλεύει. % cd /etc % /tmp/base/t.sh script resides in /tmp/base script running from /etc /tmp/base/scripts ls: cannot access '/etc/scripts': Δεν υπάρχει τέτοιο αρχείο ή κατάλογος # Το ίδιο με άλλον κατάλογο.
Σε αυτές τις περιπτώσεις, το pwd μπορεί να χρησιμοποιηθεί για άλλο λόγο. Μπορείς να κρατήσεις σε μια μεταβλητή τι λέει το pwd _πριν_ μεταβείς στον κατάλογο scripts ώστε να γυρίσεις πίσω στον κατάλογο από τον οποίον έτρεξε ο χρήστης το script, σε περίπτωση που σου χρειάζεται αυτό."I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
17-10-21, 23:56 Απάντηση: Ερώτηση για bash #1613
Αυτό που λες στο τέλος κάνω. Τρέχω pwd στην αρχή και αποθηκεύω την τιμή.
-
18-10-21, 18:29 Απάντηση: Ερώτηση για bash #1614
Το εβαλα τελικα με $(dirname $0) και παιζει. Ευχαριστω
ديميتريس
-
12-11-21, 15:11 Απάντηση: Ερώτηση για bash #1615
Χρησιμοποιώ screen για τα πάντα, χωρίς αυτό δεν υπάρχω. Ανάλογα το σε ποιον υπολογιστή δουλεύω όμως, τα notifications εμφανίζονται είτε στον τίτλο του παραθύρου (δεν μου αρέσει) είτε στην τελευταία σειρά του παραθύρου (το προτιμώ). Πως μπορώ να αλλάξω τη συγκεκριμένη συμπεριφορά και να εμφανίζεται εκεί που μου αρέσει;
-
14-11-21, 10:53 Απάντηση: Ερώτηση για bash #1616
Πώς εμπλεξες έτσι ?
Εξαρτάται απο το termcap/terminfo εαν έχει status line. Το default είναι στην τελευταία γραμμή .
Τρεξε infocmp σε αυτό που σου βγάζει στον τίτλο. Μάλλον καλύτερα δες το env TERM τι τιμή έχει για αρχή
-
14-11-21, 15:13 Απάντηση: Ερώτηση για bash #1617
Τι εννοείς έμπλεξα;
Και στους δύο υπολογιστές το $TERM περιέχει "screen". Το infocmp βγάζει μία λίστα κινέζικα, η τελευταία γραμμή είναι ίδια.
infocmp στον υπολογιστή με τη συμπεριφορά που μου αρέσει:
Κώδικας:# Reconstructed via infocmp from file: /usr/local/other/python/GEOSpyD/2019.10_py3.7/2020-01-15/share/terminfo/s/screen screen|VT 100/ANSI X3.64 virtual terminal, am, km, mir, msgr, xenl, colors#8, cols#80, it#8, lines#24, ncv@, pairs#64, acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
Κώδικας:# Reconstructed via infocmp from file: /usr/share/terminfo/73/screen screen|VT 100/ANSI X3.64 virtual terminal, am, km, mir, msgr, xenl, colors#8, cols#80, it#8, lines#24, ncv@, pairs#64, acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
Μη μου προτείνεις να αλλάξω την TERM, όποτε το έχω προσπαθήσει για άλλους λόγους δημιούργησα περισσότερα προβλήματα απ' ότι έλυσα.
-
14-11-21, 15:40 Απάντηση: Ερώτηση για bash #1618
Οχι με τίποτα αλλαγή στο term. Δεν βάζεις στο .screenrc σου hardstatus alwayslastline στο προβληματικό ?
Το terminfo είναι ιδιο και στα δύο άρα δεν είναι αυτό το πρόβλημα
-
14-11-21, 16:00 Απάντηση: Ερώτηση για bash #1619
-
14-11-21, 16:22 Απάντηση: Ερώτηση για bash #1620
Ωραιός (βέβαια δεν βρήκαμε γιατι το έκανε... αλλά δεν βαρίεσαι )
Παρόμοια Θέματα
-
Βοήθεια για ένα απλό bash script
Από AddictedToChaos στο φόρουμ Unix - LinuxΜηνύματα: 34Τελευταίο Μήνυμα: 22-07-11, 01:57 -
bash - matlab
Από simeon.mattes στο φόρουμ Unix - LinuxΜηνύματα: 25Τελευταίο Μήνυμα: 25-06-08, 23:00 -
Bash Script help (Αρχάριος)
Από weakwire στο φόρουμ Unix - LinuxΜηνύματα: 12Τελευταίο Μήνυμα: 08-05-07, 00:41 -
bash rename (mv)
Από hayzel στο φόρουμ Unix - LinuxΜηνύματα: 6Τελευταίο Μήνυμα: 07-01-07, 16:33
Bookmarks