Najpierw nauczyłem się kodować w C
języku i używać
if ( code )
then
code
fi
utrudnia mi czytanie kodu (nie pytaj dlaczego). Czy istnieje substytut then
?
Coś takiego:
if ( code ) {
code
}
fi
shell-script
智障 的 人
źródło
źródło
Odpowiedzi:
Nie ma substytutu, ale możesz użyć obu, jeśli naprawdę potrzebujesz aparatów ortodontycznych:
Wykorzystuje to niepotrzebną jawnie zbrojoną grupę poleceń jako bryłę
then
bloku. Wszelkie polecenia w nawiasach zostaną wykonane w bieżącej powłoce pothen
uruchomieniu, dokładnie tak, jakby nawiasy nie były dostępne.Naprawdę nie polecałbym tego stylu ogólnie ani kodu, który ktoś inny będzie musiał przeczytać, ale daje ci nawiasy klamrowe, które chcesz, i zrobi to samo, jeśli używasz edytora, który wymaga wzmocnionych bloków lub coś w tym stylu.
źródło
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}
- w zasadzie, gdy używaszbash
wystarczająco dużo, standardowa składnia staje się wystarczająco znajoma, więc nie stanowi większego problemu.Wydaje się, że patrząc na powłoce C (
csh
,tcsh
, etc ...). Należy pamiętać, że eksperci odradzają to przy programowaniu .Nie jestem pewien, czy to, co uważasz za nieprzyjemne,
then
jest następujące: Jeśli tak, rozważ użycie następującego stylu:Muszę przyznać, że nazwy instrukcji pisowni wstecz jak
fi
forif
iesac
forcase
(ale nieelihw
dlawhile
!) Są trochę dziwaczne. Ale to standardowa powłoka Bourne'a, najbardziej przenośna składnia powłoki, jakiej możesz użyć.źródło
then
nieprzyjemny, po prostu mój edytor podświetli odpowiednie{}
pary, i jest to przydatne, gdy mam jakiś błąd, ponieważ wtedy mogę łatwo zobaczyć wszystkie mojeif
stwierdzenia i sprawdzić, czy coś poszło nie tak .vi
,%
które przeskakuje do pasującego nawiasu / nawiasu / nawiasu. Sympatyzuje. Tęsknięvi
„s%
komendy przy programowaniu w Pythonie.Może to jest łatwiejsze dla oczu:
Poza tym, przyzwyczaj się do tego. Użyj idiomów języka.
źródło
Poniżej jest blisko. I dziwne.
Osobiście nigdy nie lubiłem ...
... formuję siebie. Podoba mi się, gdy prowadzą słowa kontrolne . Zawsze wydawało mi się dziwne, że
...;then
w ogóle powstała dominująca forma.Jest to prawie całkowicie przeciwne do twojego żądania, ale jest to inny sposób, aby to zrobić. W
fi
razie potrzeby możesz także przypiąć dowolne przekierowania do linii, które będą dotyczyć całego bloku.źródło
if(...) {
, tj. Pozostawieniem otwierającego nawiasu klamrowego na tej samej linii, coif
w językach podobnych do C.if
polecenia, nawet jeśli jest w następnym wierszu.;
w takim przypadku musisz użyć separatora . Właśnie dlatego.:
wbudowanej powłoki w ten sposób, aby wiersz kodu mógł być bajtowo bliższy składni C, nie należy w żaden sposób zachęcać.Oto sposób:
jest równa:
źródło
{...}
wokółecho "found"
, a wtedy będziesz zmierzać we właściwym kierunku.Zawsze używam:
Prawdopodobnie nie dokładnie to, czego chcesz, ale jest trochę bardziej podobny do c.
źródło