Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Tetsuya 26 Ledna 2012, 15:56:39

Název: Příkaz fg a znak %
Přispěvatel: Tetsuya 26 Ledna 2012, 15:56:39
Dneska mi došla trpělivost s příkazem fg. Neskutečně mě vytáčelo, že musím vždycky uvádět před číslo jobu znak %, takže jsem to prostě zkusil bez toho, a co myslíte, že se stalo? Volaná úloha se prostě přepla do popředí, a jela dál. :D Můžete mi někdo vysvětlit, proč se tam ty procenta zadávají? Je to v každým návodu, ale žádný logický vysvětlení...
Název: Re:Příkaz fg a znak %
Přispěvatel: Šuohob 26 Ledna 2012, 16:11:19
ty procenta tam jsou proto, protoze muzes mit vic uloh bezicich na pozadi, tak abys jasne oznacil, kterou ulohu chces prepnout do popredi.
kdyz das jen fg, tak se ti imho prepne do popreti posledni uloha, kterou jsi spustil na pozadi
Název: Re:Příkaz fg a znak %
Přispěvatel: Tetsuya 26 Ledna 2012, 17:07:31
ty procenta tam jsou proto, protoze muzes mit vic uloh bezicich na pozadi, tak abys jasne oznacil, kterou ulohu chces prepnout do popredi.
kdyz das jen fg, tak se ti imho prepne do popreti posledni uloha, kterou jsi spustil na pozadi

I když máš na pozadí těch úloh víc, tak pro přesunutí konkrétní úlohy do popředí stačí spustit jen fg číslo_úlohy. Funguje to prostě i bez těch procent. Proto se ptám, proč tam jsou...
Název: Re:Příkaz fg a znak %
Přispěvatel: daysleeper 26 Ledna 2012, 20:54:29
Zajímavý postřeh.

U bash příkazů, které mají jako argument pouze jobspec, asi není nutné uvádět znak '%', ale u těch, kde by mohlo označení jobu kolidovat s PID (wait, kill) to bude jinak. Srovnej
Kód: [Vybrat]
kill 1
kill %1

EDIT: nejméně u bg a fg ten znak potřeba není
Citace: bash/common.c/get_job_spec()
  if (*word == '%')
    word++;

  if (DIGIT (*word) && all_digits (word))
    {
      job = atoi (word);
      return (job > js.j_jobslots ? NO_JOB : job - 1);
    }
(tj. pokud je první znak argumentu '%', přeskoč ho (word++) a zbytek převeď na int (pokud zbytek číslo není, ale job je specifikován textem, pokračuje kód dále)).
Název: Re:Příkaz fg a znak %
Přispěvatel: Tetsuya 30 Ledna 2012, 00:00:16
Supr, díky za vysvětlení. :) U toho killu to procento chápu, ale u fg je to dost nepraktický...