Thread View: pl.comp.os.linux.programowanie
8 messages
8 total messages
Started by Jivanmukta
Sat, 31 Aug 2019 09:37
proste pytanie, ucze się basha
Author: Jivanmukta
Date: Sat, 31 Aug 2019 09:37
Date: Sat, 31 Aug 2019 09:37
9 lines
1374 bytes
1374 bytes
Piszę skrypt dirtyphp.sh w bashu. W skrypcie mam instrukcję cp -R "$1" "$2" gdzie $1 i $2 to parametry mojego skryptu. Przy wywołaniu: bash -x dirtyphp.sh "~/dirtyphp (gotowy)" "~/dirtyphp" mam błąd cp, nie rozumie ~. Jak mam to napisać, żebym mógł wywoływać mój skrypt także dla ścieżek ze znakiem tyldy? Myślałem że powłoka rozwinie ~ i zostanie wykonane: dirtyphp.sh "/home/robert/dirtyphp (gotowy)" /home/robert/dirtyphp
Re: proste pytanie, ucze się basha
Author: Kamil Jońca
Date: Sat, 31 Aug 2019 09:53
Date: Sat, 31 Aug 2019 09:53
25 lines
1738 bytes
1738 bytes
Jivanmukta <jivanmukta@poczta.onet.pl> writes: > Piszę skrypt dirtyphp.sh w bashu. W skrypcie mam instrukcję > cp -R "$1" "$2" > gdzie $1 i $2 to parametry mojego skryptu. > Przy wywołaniu: > bash -x dirtyphp.sh "~/dirtyphp (gotowy)" "~/dirtyphp" > mam błąd cp, nie rozumie ~. > Jak mam to napisać, żebym mógł wywoływać mój skrypt także dla ścieżek > ze znakiem tyldy? Myślałem że powłoka rozwinie ~ i zostanie wykonane: > dirtyphp.sh "/home/robert/dirtyphp (gotowy)" /home/robert/dirtyphp > Strzelam (dawno basha nie używałem) że "" powodują, że tylda się nie rozwija. por. https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html#Double-Quotes KJ -- http://stopstopnop.pl/stop_stopnop.pl_o_nas.html If you think nobody cares if you're alive, try missing a couple of car payments. -- Earl Wilson
Re: proste pytanie, ucze się basha
Author: Jivanmukta
Date: Sat, 31 Aug 2019 10:03
Date: Sat, 31 Aug 2019 10:03
24 lines
1951 bytes
1951 bytes
W dniu 31.08.2019 o 11:53, Kamil Jońca pisze: > > Jivanmukta <jivanmukta@poczta.onet.pl> writes: > >> Piszę skrypt dirtyphp.sh w bashu. W skrypcie mam instrukcję >> cp -R "$1" "$2" >> gdzie $1 i $2 to parametry mojego skryptu. >> Przy wywołaniu: >> bash -x dirtyphp.sh "~/dirtyphp (gotowy)" "~/dirtyphp" >> mam błąd cp, nie rozumie ~. >> Jak mam to napisać, żebym mógł wywoływać mój skrypt także dla ścieżek >> ze znakiem tyldy? Myślałem że powłoka rozwinie ~ i zostanie wykonane: >> dirtyphp.sh "/home/robert/dirtyphp (gotowy)" /home/robert/dirtyphp >> > > Strzelam (dawno basha nie używałem) że "" powodują, że tylda się nie > rozwija. > > por. https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html#Double-Quotes > > KJ > Masz rację. Potrzebuję zrobić tak, żeby można było wpisać i tyldę i spację. Jak to osiągnąć?
Re: proste pytanie, ucze się basha
Author: Jivanmukta
Date: Sat, 31 Aug 2019 10:22
Date: Sat, 31 Aug 2019 10:22
29 lines
2028 bytes
2028 bytes
W dniu 31.08.2019 o 12:03, Jivanmukta pisze: > W dniu 31.08.2019 o 11:53, Kamil Jońca pisze: >> >> Jivanmukta <jivanmukta@poczta.onet.pl> writes: >> >>> Piszę skrypt dirtyphp.sh w bashu. W skrypcie mam instrukcję >>> cp -R "$1" "$2" >>> gdzie $1 i $2 to parametry mojego skryptu. >>> Przy wywołaniu: >>> bash -x dirtyphp.sh "~/dirtyphp (gotowy)" "~/dirtyphp" >>> mam błąd cp, nie rozumie ~. >>> Jak mam to napisać, żebym mógł wywoływać mój skrypt także dla ścieżek >>> ze znakiem tyldy? Myślałem że powłoka rozwinie ~ i zostanie wykonane: >>> dirtyphp.sh "/home/robert/dirtyphp (gotowy)" /home/robert/dirtyphp >>> >> >> Strzelam (dawno basha nie używałem) że "" powodują, że tylda się nie >> rozwija. >> >> por. >> https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html#Double-Quotes >> >> >> KJ >> > Masz rację. Potrzebuję zrobić tak, żeby można było wpisać i tyldę i > spację. Jak to osiągnąć? Acha, już wiem: ~/"dirtyphp (gotowy)"
Re: proste pytanie, ucze się basha
Author: Jivanmukta
Date: Sat, 31 Aug 2019 12:35
Date: Sat, 31 Aug 2019 12:35
40 lines
2597 bytes
2597 bytes
W dniu 31.08.2019 o 12:22, Jivanmukta pisze: > W dniu 31.08.2019 o 12:03, Jivanmukta pisze: >> W dniu 31.08.2019 o 11:53, Kamil Jońca pisze: >>> >>> Jivanmukta <jivanmukta@poczta.onet.pl> writes: >>> >>>> Piszę skrypt dirtyphp.sh w bashu. W skrypcie mam instrukcję >>>> cp -R "$1" "$2" >>>> gdzie $1 i $2 to parametry mojego skryptu. >>>> Przy wywołaniu: >>>> bash -x dirtyphp.sh "~/dirtyphp (gotowy)" "~/dirtyphp" >>>> mam błąd cp, nie rozumie ~. >>>> Jak mam to napisać, żebym mógł wywoływać mój skrypt także dla ścieżek >>>> ze znakiem tyldy? Myślałem że powłoka rozwinie ~ i zostanie wykonane: >>>> dirtyphp.sh "/home/robert/dirtyphp (gotowy)" /home/robert/dirtyphp >>>> >>> >>> Strzelam (dawno basha nie używałem) że "" powodują, że tylda się nie >>> rozwija. >>> >>> por. >>> https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html#Double-Quotes >>> >>> >>> KJ >>> >> Masz rację. Potrzebuję zrobić tak, żeby można było wpisać i tyldę i >> spację. Jak to osiągnąć? > > Acha, już wiem: ~/"dirtyphp (gotowy)" Mam jeszcze problem z instrukcją for. Iteruję po plikach w podanym w $1 katalogu, którego nazwa może zawierać spację, np. "/home/robert/dirtyphp (gotowy)" i dostaję osobno $f równe "(gotowy)/plik.php": for f in $(find "$1" -name '*.php' -type f -print 2>/dev/null) Jak to zrobić żeby mieć "/home/robert/dirtyphp (gotowy)/plik.php" a nie "(gotowy)/plik.php"?
Re: proste pytanie, ucze się basha
Author: Szyk Cech
Date: Sat, 31 Aug 2019 14:04
Date: Sat, 31 Aug 2019 14:04
12 lines
1669 bytes
1669 bytes
> Mam jeszcze problem z instrukcją for. Iteruję po plikach w podanym w $1 > katalogu, którego nazwa może zawierać spację, np. > "/home/robert/dirtyphp (gotowy)" > i dostaję osobno $f równe "(gotowy)/plik.php": > > for f in $(find "$1" -name '*.php' -type f -print 2>/dev/null) > > Jak to zrobić żeby mieć "/home/robert/dirtyphp (gotowy)/plik.php" a nie > "(gotowy)/plik.php"? # Przed for: IFS=$'\n'
Re: proste pytanie, ucze się basha
Author: Jivanmukta
Date: Sun, 08 Sep 2019 15:33
Date: Sun, 08 Sep 2019 15:33
14 lines
1971 bytes
1971 bytes
W dniu 31.08.2019 o 16:04, Szyk Cech pisze: >> Mam jeszcze problem z instrukcją for. Iteruję po plikach w podanym w >> $1 katalogu, którego nazwa może zawierać spację, np. >> "/home/robert/dirtyphp (gotowy)" >> i dostaję osobno $f równe "(gotowy)/plik.php": >> >> for f in $(find "$1" -name '*.php' -type f -print 2>/dev/null) >> >> Jak to zrobić żeby mieć "/home/robert/dirtyphp (gotowy)/plik.php" a >> nie "(gotowy)/plik.php"? > > # Przed for: > IFS=$'\n' Dzięki, wszystko mi działa.
Re: proste pytanie, ucze się basha
Author: AMX
Date: Thu, 01 Dec 2022 22:08
Date: Thu, 01 Dec 2022 22:08
22 lines
1544 bytes
1544 bytes
On Sat, 31 Aug 2019 11:37:05 +0200, Jivanmukta <jivanmukta@poczta.onet.pl> wrote: > Piszę skrypt dirtyphp.sh w bashu. W skrypcie mam instrukcję > cp -R "$1" "$2" > gdzie $1 i $2 to parametry mojego skryptu. > Przy wywołaniu: > bash -x dirtyphp.sh "~/dirtyphp (gotowy)" "~/dirtyphp" > mam błąd cp, nie rozumie ~. > Jak mam to napisać, żebym mógł wywoływać mój skrypt także dla ścieżek ze > znakiem tyldy? Myślałem że powłoka rozwinie ~ i zostanie wykonane: > dirtyphp.sh "/home/robert/dirtyphp (gotowy)" /home/robert/dirtyphp Użycie zamiast ~/ $HOME także rozwiąże problem: bash -x dirtyphp.sh "$HOME/dirtyphp (gotowy)" "$HOME/dirtyphp" (czasami dobrze znać drugie rozwiązanie) -- adres w rot13 Nyrxfnaqre Znghfmnx r-znk@b2.cy
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads