• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

#!/bin/bash skrypt arithmetic expression

Object Storage Arubacloud
+1 głos
512 wizyt
pytanie zadane 18 października 2019 w Inne języki przez Adamskeys Nowicjusz (160 p.)

Witam !

The code does not execute properly. Try to figure out why.

#!/bin/bash -e
a=$1
b=$2
echo $((a*0))

 Jestem świerzak to mój pierwszy język programowania którego się uczę i postanowiłem zadać pierwsze pytanie na tym forum z nadzieją, że nie zostanę zabity śmiechem. Próbowałem wszystkiego co przyszło mi do głowy łącznie z \ przed * i nawiasami, zachowanie spacji itd itp i zawsze rozbija się głównie o non integer ale skoro $1 to wpisany input to hał aj ken tejk? Nie wspominając faktu, że nie wiem po co -e po shebangu oraz deklarowanie drugiej variable gdy w ogóle nie zostaje użyta. Napewno coś pomijam i jest to banalne...Proszę mądre głowy o pomoc, może nie tyle o rozwiązanie co o wskazówkę. 

 

Senkju for jor koaperejszyn

 





 

komentarz 19 października 2019 przez Ehlert Ekspert (212,670 p.)
Arytmetyka w bashu to kiepski pomysł. Targetuj w języki, które mają wsparcie dla typów zmiennoprzecinkowych.

2 odpowiedzi

0 głosów
odpowiedź 18 października 2019 przez adrian17 Ekspert (344,860 p.)
wybrane 19 października 2019 przez Adamskeys
 
Najlepsza

oraz deklarowanie drugiej variable gdy w ogóle nie zostaje użyta

The code does not execute properly

A inaczej... wiesz w ogóle, co ten skrypt ma robić?

(nie wiem też co masz na myśli przez non integer)

Bo na moje oko, ten skrypt bardzo ładnie działa, po prostu mnoży pierwszy argument przez zero. Może chodzi o to, żeby mnożył oba argumenty przez siebie? Jak tak, to to jednoznakowa poprawka ;)

komentarz 18 października 2019 przez Adamskeys Nowicjusz (160 p.)

Hey,

Szczerze to też wydaje mi się, że chodzi o proste mnożenie, ale w tym wypadku do głowy przychodzi mi tylko \ przed * ale i tak nie działa. Podam może link do źródła zagadki:

https://www.codewars.com/?language=shell

Dziękuje za odzew

komentarz 19 października 2019 przez adrian17 Ekspert (344,860 p.)

ale w tym wypadku do głowy przychodzi mi tylko \ przed * ale i tak nie działa.

Dla pewności... próbujesz to uruchomić w konsoli? Bo testowanie na samej stronie - tego tak się nie robi ;) Tu nie ma haczyków, naprawdę wystarczy po prostu pomnożyć a przez b.

Natomiast mam wrażenie że sam codewars ma buga, patrz:

http://puu.sh/EubUS/ce15df0f66.mp4

No i na koniec, codewars to raczej strona do treningu, nie do nauki od zera?

No i ogólnie bash to bardzo dziwny wybór jak na pierwszy język.

komentarz 19 października 2019 przez Adamskeys Nowicjusz (160 p.)
Dziękuje za pomoc  Adrian!

Trening jest najlepsza formą nauki moim zdaniem (może nie w tym przypadku chociaż też czegoś się nauczyłem) Zadania, zagadki i tym podobne szybciej i trwalej zapadają w pamięć. No cóż a wybór basha ? Jaram się Linuxem więc bash jest w zasięgu zainteresowań. Na początku chciałbym się nauczyć pisać proste sensowne skrypty ułatwiające codzienną pracę w terminalu. Następny w kolejce jest python.

Jeszcze raz wielkie dzięki

Pazdrawliaju !
0 głosów
odpowiedź 19 października 2019 przez miro Pasjonat (23,870 p.)

echo $((a*b))

Ten kod jest poprawny bez zmian. Zadanie typu domyśl się co miał autor na myśli. frown

komentarz 19 października 2019 przez Adamskeys Nowicjusz (160 p.)
No ciężko się nie zgodzić :)

Podobne pytania

0 głosów
1 odpowiedź 425 wizyt
pytanie zadane 19 grudnia 2019 w Systemy operacyjne, programy przez Thominik Nowicjusz (120 p.)
+1 głos
2 odpowiedzi 470 wizyt
pytanie zadane 5 sierpnia 2019 w Inne języki przez Grozmo Użytkownik (750 p.)
0 głosów
0 odpowiedzi 205 wizyt
pytanie zadane 21 października 2018 w Inne języki przez Młody programista Obywatel (1,200 p.)

92,568 zapytań

141,420 odpowiedzi

319,619 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...