🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#72911
Author: Jivanmukta
Date: Sat, 31 Aug 2019 09:37
9 lines
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
#72912
Author: Kamil Jońca
Date: Sat, 31 Aug 2019 09:53
25 lines
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
#72913
Author: Jivanmukta
Date: Sat, 31 Aug 2019 10:03
24 lines
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
#72914
Author: Jivanmukta
Date: Sat, 31 Aug 2019 10:22
29 lines
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
#72915
Author: Jivanmukta
Date: Sat, 31 Aug 2019 12:35
40 lines
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
#72916
Author: Szyk Cech
Date: Sat, 31 Aug 2019 14:04
12 lines
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
#72917
Author: Jivanmukta
Date: Sun, 08 Sep 2019 15:33
14 lines
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
#72918
Author: AMX
Date: Thu, 01 Dec 2022 22:08
22 lines
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