Reklama
Pokazuje wyniki od 1 do 13 z 13

Temat: [C] Własny Shell - Pierwszy projekt

  1. #1
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny [C] Własny Shell - Pierwszy projekt

    Cześć,

    jestem w trakcie robienia swojego pierwszego projektu na zaliczenie. Ma być to prosta powłoka napisana w ANSI C. Jest kilka rzeczy, które nie działają, w związku z czym proszę o pomoc w rozwiązaniu problemu, ponieważ jutro muszę go oddać
    Poniżej kod:

    Kod:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <limits.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    char *sciezka;
    
    int main()
    {
        while(1){
    
        char path[PATH_MAX];
        getcwd(path, sizeof(path));
        printf("%s~$ ", path);
    
    
        char polecenie[100];
        int mkdir, whoami, help, cd, wyjscie, touch;
    
        scanf("%100s", polecenie);
    
        wyjscie = strcmp(polecenie, "exit");
        help = strcmp(polecenie, "help");
        cd = strcmp(polecenie, "cd");
        touch = strcmp(polecenie, "touch");
        whoami = strcmp(polecenie, "whoami");
        mkdir = strcmp(polecenie, "mkdir");
    
        if(wyjscie==0){exit(0);}
    
        else if (help==0) pomoc();
    
        else if (cd==0) changedir(sciezka);
    
        else if (touch==0) make();
    
        else if (whoami==0) login();
    
        else if (mkdir==0) nowykatalog(sciezka);
    
        else printf("nieznana komenda\n");
    
        }
    
    
        return 0;
    }
    void changedir(const char *sciezka){
        if (sciezka==NULL) chdir(getenv("HOME"));
        else chdir(sciezka);
    }
    
    void pomoc() {
    printf("Autor: \n");
            printf("Funkcjonalności: \n");
            printf("help - pomoc\n");
            printf("exit - wyjście z programu\n");
            printf("cd - Zmiana katalogu\n");
            printf("touch - tworzenie pliku tekstowego w obecnym katalogu roboczym, o nazwie takiej, jak parametr\n");
            printf("whoami - wyświetla aktualnie zalogowanego użytkownika\n");
    }
    
    void make() {char *nazwa;
    FILE *plik;
       if ((plik=fopen(("%s", nazwa), "w" ))==NULL) {
         exit(1);
         }
       fclose (plik);
       }
    
    void login(){
    printf("%s\n",getenv("USER"));
    }
    
    void nowykatalog(path) {
        int kat;
        kat = mkdir(path, S_IRWXU | S_IRWXG | S_IRWXO);
            if(kat==-1) printf("Nie udało się stworzyć katalogu\n");
            else printf("Katalog stworzony\n");
    }
    Rzeczy, które nie działają:
    1. funkcja cd - Przenosi ona tylko do katalogu głównego. Gdy podaję ścieżkę, nadal pozostaję w katalogu głównym
    2. funkcja touch - tworzy pusty plik tekstowy prawidłowo, jednak jako nazwa jest jakiś dziwny ciąg znaków, nie pobiera z argumentu nazwy pliku
    3. mkdir - nie działa w ogóle. Planuje jeszcze zrobić rmdir, ale muszę najpierw ogarnąć dlaczego nei działa mkdir

    Proszę o pomoc w rozwiązaniu problemów, ponieważ zostało mi mało czasu, a jestem z tym troche w lesie. Wiem, że kod nie jest ładny, ale nie znam tego języka. Wszystkiego uczyłem się na bieżąco, gdy do projektu przystępowałem, potrafiłem napisać tylko hello world. Program musi tylko prawidłowo działać. Thanks from the mountain!

    Edit:
    Polecenie do zadania:
    1. Znak zachęty - ścieżka do katalogu roboczego
    2. Ma obsługiwać polecenie cd
    3. Ma obsługiwać polecenie exit
    4. Ma obsługiwać polecenie help
    5. Ma obsługiwać dwa dowolne polecenia powłoki (wybrałem mkdir i rmdir, ale chciałbym zrobić jeszcze coś, ale nie wiem co mogłoby być proste, jeśli macie jakieś sugestie to poproszę. Deadline mnie goni, więc chciałbym sobie z tym poradzić w miare szybko)
    6. Przyjmować polecenia odwołujące się przez nazwę do skryptow i programów znajdujacych się w katalogach opisanych wartoscią zmiennej środowiskowej PATH oraz umożliwiać wywołanie tych skryptów i programów z argumentami
    7. Wyświetlać komunikat błędu, gdy nie może odczytać polecenia
    Ostatnio zmieniony przez Olocalt : 24-01-2019, 23:13

  2. #2
    Avatar Pumpkin
    Data rejestracji
    2010
    Posty
    3,034
    Siła reputacji
    16

    Domyślny

    1. funkcja cd - Przenosi ona tylko do katalogu głównego. Gdy podaję ścieżkę, nadal pozostaję w katalogu głównym

    no bo masz zmienną globalną której w ogóle na początku powinienes przypisac NULL bo jak odpalisz to nie w trybie debug to bedziesz miał tam smieci :
    char *sciezka = NULL;
    nigdzie nie wypełniłeś tego żadną ścieżką a potem masz:
    Kod:
    if (sciezka == NULL) chdir(getenv("HOME"));
    	else chdir(sciezka);
    więc ścieżka zawsze jest nullem więc jest wyowłane:
    chdir(getenv("HOME")
    a zmienna srodowiskowa Home pewnie ci na ten sam folder wskazuje caly czas

    2

    Tutaj to samo. Masz zmienną która ma wskazywać na ciąg znaków:
    char *nazwa
    ale nigdy tam się nic nie wpisuje. Nie ma zadnej wartosci więc nie ma prawa dzialac. Ty tylko stworzyłeś zmienną ale są tam śmieci jakieś z pamięci więc plik ma jakąś losową nazwe

    3 i znów to samo. Nie masz nic w zmiennej sciezka więc skąd ktoś ma wiedzieć jaka ona jest.
    Ostatnio zmieniony przez Pumpkin : 25-01-2019, 09:15
    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Leki które aktualnie mają wartość 200zł, po refundacji płacimy 50 zł, a za Korwina będą kosztowały 10zł. Bardziej tak

    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (...)bo był honorowym rycerzem w porównaniu do tego gościa, który oddał bez walki zamek.

  3. Reklama
  4. #3
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny

    Czy jeżeli stworzę jakąś zmienną, która będzie zawierała funkcję getcwd() i tą zmienną wstawię do mkdir w miejscu obecnie ścieżki, to czy to zadziała?
    Co w przypadku cd? jedyne co przychodzi mi do głowy to wstawić scanf, żeby pobierał nazwę ścieżki, do której chcę się przenieść, ale nie do końca wiem jak to zaimplementować. Tak samo jak w przypadku touch. Czytałem coś na temat argumentów argv[0][1][2] itd. Nie do końca teraz wiem dokładnie jak to działa, ale z tego co kojarze to służy ona do pobierania wartości z parametru. Nie mam jak sprawdzić bo jestem w pracy. Czy zastosowanie tych argumentów coś da?
    Ostatnio zmieniony przez Olocalt : 25-01-2019, 10:55

  5. #4
    Avatar Pumpkin
    Data rejestracji
    2010
    Posty
    3,034
    Siła reputacji
    16

    Domyślny

    Cytuj Olocalt napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Czy jeżeli stworzę jakąś zmienną, która będzie zawierała funkcję getcwd() i tą zmienną wstawię do mkdir w miejscu obecnie ścieżki, to czy to zadziała?
    Co w przypadku cd? jedyne co przychodzi mi do głowy to wstawić scanf, żeby pobierał nazwę ścieżki, do której chcę się przenieść, ale nie do końca wiem jak to zaimplementować. Tak samo jak w przypadku touch. Czytałem coś na temat argumentów argv[0][1][2] itd. Nie do końca teraz wiem dokładnie jak to działa, ale z tego co kojarze to służy ona do pobierania wartości z parametru. Nie mam jak sprawdzić bo jestem w pracy. Czy zastosowanie tych argumentów coś da?
    nie, argv[0][1][2] uzywasz jesli chcesz jakis argument przekazac przy wywolaniu pliku exe twojej aplikacji. Jak cos sie dzieje wewnątrz to tego nie potrzebujesz w ogóle


    no w tej chwili zrobiles zczytywanie tylko jednego tekstu az do spacji. Zeby wczytac dwie rzeczy to mozesz jakos tak ale sprawdz sobie jak dokladnie bo nigdy nie uzywalem tego polecenia xD:
    scanf("%100s%100s", polecenie, sciezka2);


    wtedy jak ktos wpisze:
    cd D:\folder
    to w jednej tablicy masz polecenie a w drugiej sciezke

    tylko ze oprocz tego bedziesz mial w tej tablicy pełno śmieci więc musisz zainicjalizować ją zerami na początku i wtedy będziesz miał tylko to co chcesz
    Ostatnio zmieniony przez Pumpkin : 25-01-2019, 12:21
    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Leki które aktualnie mają wartość 200zł, po refundacji płacimy 50 zł, a za Korwina będą kosztowały 10zł. Bardziej tak

    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (...)bo był honorowym rycerzem w porównaniu do tego gościa, który oddał bez walki zamek.

  6. #5
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny

    Dopisałem tak jak zasugerowałeś, czyli do scanf wrzuciłem zmienną scieżka, jednak pojawił się problem z każdą komendą, którą wydawałem programowi (wymagał podania dwóch parametrów, więc np. exit musiałem wpisywać dwa razy), więc zadeklarowałem zmienną char *sciezka2, scanf wrzuciłem do funkcji changedir().
    Jak na to patrzę, to wygląda to logicznie, powinno działać, ale gdy wpisuje cd *tu sciezka*, to przenosi mnie do katalogu głównego, a gdy wpiszę samą komende cd i zatwierdze, a potem wpisżę adres ścieżki, to wyskakuje błąd "nieznana komenda".
    Wygląda to tak:
    funkcja changedir:
    Kod:
    void changedir(char *sciezka2)
        {scanf("%s", sciezka2);
        if (sciezka2==NULL) chdir(getenv("HOME"));
        else chdir(sciezka2);
    Wywołanie funkcji:
    Kod:
    else if (cd==0) changedir(sciezka2);
    Na wstępie zadeklarowałem też zmienną char *sciezka2;

    2.
    Co w przypadku tego mkdir? jak to powinno wyglądać? Prawdę mówiąc napisałem ją wzorując się tylko na kodzie, który znalazłem w necie, ale wygląda mi to totalnie nielogicznie. Brakuje mi możliwości wpisania nazwy katalogu, jest tylko ścieżka i uprawnienia. W necie nie mogłem znaleźć nic oprócz tego:
    Kod:
    void mymkdir(command *C)
    {
    //creates a new folder in the current directory
    	int status;
    	if(C->argv[1]!=NULL)
    	{
    		//Give permissions to everyone just in case
    		status = mkdir(C->argv[1], S_IRWXU | S_IRWXG | S_IRWXO);
    		if(status==-1)
    			printf("Error creating folder\n");
    		else
    			printf("Done creating folder \n");
    	}
    	else//argument for name wasn't given
    printf("There's no name for the new folder.\n");
    ale nie wiem do końca jak to przerobić pod swój kod. To, co mam jest przerobionym kodem powyżej, ale chyba zrobiłem to dość nieudolnie. Sprawdzałem też przez man 2 mkdir, jednak nie znalazłem tam odpowiedzi na swój problem.

    3. Touch już działa jak powinien, dzięki!
    ale zrobiłem go na tej samej zasadzie co cd, czyli wrzuciłem scanf do funkcji i w przypadku touch działa jak powinno, wpisuje touch xx i robi plik tekstowy o nazwie xx, a cd nie działa.

    Płace greenbagami za pomoc!
    Ostatnio zmieniony przez Olocalt : 25-01-2019, 23:03

  7. #6
    Avatar Pumpkin
    Data rejestracji
    2010
    Posty
    3,034
    Siła reputacji
    16

    Domyślny

    Cytuj Olocalt napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Dopisałem tak jak zasugerowałeś, czyli do scanf wrzuciłem zmienną scieżka, jednak pojawił się problem z każdą komendą, którą wydawałem programowi (wymagał podania dwóch parametrów, więc np. exit musiałem wpisywać dwa razy), więc zadeklarowałem zmienną char *sciezka2, scanf wrzuciłem do funkcji changedir().
    Jak na to patrzę, to wygląda to logicznie, powinno działać, ale gdy wpisuje cd *tu sciezka*, to przenosi mnie do katalogu głównego, a gdy wpiszę samą komende cd i zatwierdze, a potem wpisżę adres ścieżki, to wyskakuje błąd "nieznana komenda".
    Wygląda to tak:
    funkcja changedir:
    Kod:
    void changedir(char *sciezka2)
        {scanf("%s", sciezka2);
        if (sciezka2==NULL) chdir(getenv("HOME"));
        else chdir(sciezka2);
    Wywołanie funkcji:
    Kod:
    else if (cd==0) changedir(sciezka2);
    Na wstępie zadeklarowałem też zmienną char *sciezka2;
    nie mozesz zmiennej zrobic bo potrzebujesz tablicy tak jak masz tablice polecenie i dopiero jej adres mozesz przekazac do funkcji. Musisz miec jakies miejsce na te literki więc sama zmienna wskaznikowa nie wystarczy. Musi być w niej adres początku tablicy.
    Wrzuc kod cały jaki masz teraz
    Ostatnio zmieniony przez Pumpkin : 25-01-2019, 23:55
    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Leki które aktualnie mają wartość 200zł, po refundacji płacimy 50 zł, a za Korwina będą kosztowały 10zł. Bardziej tak

    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (...)bo był honorowym rycerzem w porównaniu do tego gościa, który oddał bez walki zamek.

  8. #7
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny

    Kod:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <limits.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    char *sciezka;
    char *sciezka2;
    
    int main()
    {
        while(1){
    
        char path[PATH_MAX];
        getcwd(path, sizeof(path));
        printf("%s~$ ", path);
    
    
        char polecenie[100];
        int mkdir, whoami, help, cd, wyjscie, touch;
    
        scanf("%100s", polecenie);
    
        wyjscie = strcmp(polecenie, "exit");
        help = strcmp(polecenie, "help");
        cd = strcmp(polecenie, "cd");
        touch = strcmp(polecenie, "touch");
        whoami = strcmp(polecenie, "whoami");
        mkdir = strcmp(polecenie, "mkdir");
    
        if(wyjscie==0){exit(0);}
    
        else if (help==0) pomoc();
    
        else if (cd==0) changedir(sciezka2);
    
        else if (touch==0) make();
    
        else if (whoami==0) login();
    
        else if (mkdir==0) nowykatalog(sciezka2);
    
        else printf("nieznana komenda\n");
    
        }
    
    
        return 0;
    }
    void changedir(char *sciezka2)
        {scanf("%s", sciezka2);
        if (sciezka2==NULL) chdir(getenv("HOME"));
        else chdir(sciezka2);
    }
    
    void pomoc() {
    printf("Autor: ");
            printf("Funkcjonalności: \n");
            printf("help - pomoc\n");
            printf("exit - wyjście z programu\n");
            printf("cd - Zmiana katalogu\n");
            printf("touch - tworzenie pliku tekstowego w obecnym katalogu roboczym, o nazwie takiej, jak parametr\n");
            printf("whoami - wyświetla aktualnie zalogowanego użytkownika\n");
    }
    
    void make() {char *nazwa;
    FILE *plik;
        scanf("%s", nazwa);
       if ((plik=fopen(("%s", nazwa), "w" ))==NULL) {
         exit(1);
         }
       fclose (plik);
       }
    
    void login(){
    printf("%s\n",getenv("USER"));
    }
    
    void nowykatalog(sciezka2) {
        int kat;
        kat = mkdir(sciezka2, S_IRWXU | S_IRWXG | S_IRWXO);
            if(kat==-1) printf("Nie udało się stworzyć katalogu\n");
            else printf("Katalog stworzony\n");
    }
    Tak to wygląda teraz

  9. #8
    Avatar Pumpkin
    Data rejestracji
    2010
    Posty
    3,034
    Siła reputacji
    16

    Domyślny

    no to pisze Ci ze tworzysz tylko zmienną wskaźnikową i tam nie ma miejsca na twój tekst. Musisz mieć tablice zeby wczytać tekst, zrób o tak:
    Kod:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <limits.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    char *sciezka;
    
    int main()
    {
        while(1){
    
        char path[PATH_MAX];
        getcwd(path, sizeof(path));
        printf("%s~$ ", path);
    
    
        char polecenie[100]={0};
        char sciezka2[100]={0};
    
        int mkdir, whoami, help, cd, wyjscie, touch;
    
        scanf("%100s", polecenie);
    
        wyjscie = strcmp(polecenie, "exit");
        help = strcmp(polecenie, "help");
        cd = strcmp(polecenie, "cd");
        touch = strcmp(polecenie, "touch");
        whoami = strcmp(polecenie, "whoami");
        mkdir = strcmp(polecenie, "mkdir");
    
        if(wyjscie==0){exit(0);}
    
        else if (help==0) pomoc();
    
        else if (cd==0) changedir(sciezka2);
    
        else if (touch==0) make();
    
        else if (whoami==0) login();
    
        else if (mkdir==0) nowykatalog(sciezka2);
    
        else printf("nieznana komenda\n");
    
        }
    
    
        return 0;
    }
    void changedir(char *sciezka2)
        {scanf("%s", sciezka2);
        if (sciezka2==NULL) chdir(getenv("HOME"));
        else chdir(sciezka2);
    }
    
    void pomoc() {
    printf("Autor: ");
            printf("Funkcjonalności: \n");
            printf("help - pomoc\n");
            printf("exit - wyjście z programu\n");
            printf("cd - Zmiana katalogu\n");
            printf("touch - tworzenie pliku tekstowego w obecnym katalogu roboczym, o nazwie takiej, jak parametr\n");
            printf("whoami - wyświetla aktualnie zalogowanego użytkownika\n");
    }
    
    void make() {char *nazwa;
    FILE *plik;
        scanf("%s", nazwa);
       if ((plik=fopen(("%s", nazwa), "w" ))==NULL) {
         exit(1);
         }
       fclose (plik);
       }
    
    void login(){
    printf("%s\n",getenv("USER"));
    }
    
    void nowykatalog(sciezka2) {
        int kat;
        kat = mkdir(sciezka2, S_IRWXU | S_IRWXG | S_IRWXO);
            if(kat==-1) printf("Nie udało się stworzyć katalogu\n");
            else printf("Katalog stworzony\n");
    }
    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Leki które aktualnie mają wartość 200zł, po refundacji płacimy 50 zł, a za Korwina będą kosztowały 10zł. Bardziej tak

    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (...)bo był honorowym rycerzem w porównaniu do tego gościa, który oddał bez walki zamek.

  10. #9
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny

    super, cd zaczęło działać prawidłowo, dzięki :D Nie potrafię za bardzo operować tablicami, stąd wynikały błędy.
    Touch mi się rozsypało, bo gdy wpiszę touch plik, zamiast stworzyc plik tekstowy o nazwie plik, program kończy działanie zwracając 1. Ale wydaje mi się, że znajdę przyczynę tego.
    Na przerobienie mkdir nadal nie wpadłem

    @edit
    touch jednak działa w katalogu roboczym w którym się znajduje, ale gdy przeniosę się poprzez cd do innego katalogu, wtedy nie działa.
    cd z wartością 0 nie powraca do katalogu głównego. kurwa nie wiem o co tu chodzi, nie rozumiem tego
    Ostatnio zmieniony przez Olocalt : 26-01-2019, 01:08

  11. #10
    Avatar Pumpkin
    Data rejestracji
    2010
    Posty
    3,034
    Siła reputacji
    16

    Domyślny

    Cytuj Olocalt napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    super, cd zaczęło działać prawidłowo, dzięki :D Nie potrafię za bardzo operować tablicami, stąd wynikały błędy.
    Touch mi się rozsypało, bo gdy wpiszę touch plik, zamiast stworzyc plik tekstowy o nazwie plik, program kończy działanie zwracając 1. Ale wydaje mi się, że znajdę przyczynę tego.
    Na przerobienie mkdir nadal nie wpadłem

    @edit
    touch jednak działa w katalogu roboczym w którym się znajduje, ale gdy przeniosę się poprzez cd do innego katalogu, wtedy nie działa.
    cd z wartością 0 nie powraca do katalogu głównego. kurwa nie wiem o co tu chodzi, nie rozumiem tego
    no w touchu znów masz to samo że do zmiennej wskaznikowej próbujesz coś wpisać a potrzebujesz tablicy
    char *nazwa;

    a co do mkdir to w ogole juz na starcie cos dziwnego masz bo w miejsce na argument funkcji wpisałeś słowo sciezka2 nawet bez typu żadnego więc nic nie przekazujesz tam jako argument
    Ostatnio zmieniony przez Pumpkin : 26-01-2019, 01:20
    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Leki które aktualnie mają wartość 200zł, po refundacji płacimy 50 zł, a za Korwina będą kosztowały 10zł. Bardziej tak

    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (...)bo był honorowym rycerzem w porównaniu do tego gościa, który oddał bez walki zamek.

  12. #11
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny

    Cytuj Pumpkin napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    no w touchu znów masz to samo że do zmiennej wskaznikowej próbujesz coś wpisać a potrzebujesz tablicy
    char *nazwa;

    a co do mkdir to w ogole juz na starcie cos dziwnego masz bo w miejsce na argument funkcji wpisałeś słowo sciezka2 nawet bez typu żadnego więc nic nie przekazujesz tam jako argument
    Poprawiłem tę zmienną w touch na tablicę, nic za bardzo się nie zmieniło. Działa gdy jestem w katalogu roboczym, lecz gdy przeniosę się♥do innego poprzez cd, to po wpisaniu touch xx od razu program się♥zamyka.
    mkdir wyrzucę stąd, stworzę jakąś inną funkcjonalność, bo nie zrobię tego.

  13. #12
    Avatar Pumpkin
    Data rejestracji
    2010
    Posty
    3,034
    Siła reputacji
    16

    Domyślny

    no a sciezke masz w dobrym formacie?
    czy tylko nazwe pliku mu podajesz?
    wrzuc kod jaki masz teraz
    Ostatnio zmieniony przez Pumpkin : 26-01-2019, 08:25
    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Leki które aktualnie mają wartość 200zł, po refundacji płacimy 50 zł, a za Korwina będą kosztowały 10zł. Bardziej tak

    Cytuj wampiirr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (...)bo był honorowym rycerzem w porównaniu do tego gościa, który oddał bez walki zamek.

  14. #13
    Avatar Olocalt
    Data rejestracji
    2010
    Posty
    645
    Siła reputacji
    14

    Domyślny

    Wszystko już działa jak powinno, wielkie dzięki za pomoc.
    Usunąłem mkdir, zamiast tego zrobiłem ls.
    Ostatnio zmieniony przez Olocalt : 27-01-2019, 11:26

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Zmiana ikony Start w Windows 8 - classic shell
    Przez Sin w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 2
    Ostatni post: 10-10-2013, 20:24
  2. Shell, cloud, vps - roznice?
    Przez Rzulf w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 1
    Ostatni post: 04-12-2011, 19:46
  3. Odpowiedzi: 84
    Ostatni post: 03-07-2008, 14:21
  4. [Poradnik] Własny bot
    Przez Zyllen Xovade w dziale Tibia
    Odpowiedzi: 64
    Ostatni post: 18-10-2007, 18:48

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •