Loading [MathJax]/extensions/tex2jax.js

Sorry, this answer has been removed and is no longer accessible

Ask Your Question
1

'> soubor'

asked Nov 20 '14

Juraj Šedivý gravatar image

updated Nov 20 '14

Dneska jsem na cviku z PS1 mimoděk zkusil (v Bashi, na školním Gentoo) jednu "úžasnou fintu" (thanks, Google) a sice > soubor, v domění, že to je cca. ekvivalentní touch soubor.

Zjevně nebylo :) Nevím, co se přihodilo, ale při následném ls mi celý proces zamrzl (nic nevypsal), na ^C, ^Z ani kill žádná reakce. Grafický file manager (Thunar, nebo co to je?) při přístupu do inkriminované složky taky mrznul.

Následné rm soubor ale kupodivu (zjevně) proběhlo v pořádku, resp. opětovné volání vypsalo error (takže to asi fakt smazal?), ale ls byl pořád "rozbitej", takže stoprocentně nevím. Na Fray se tohle nestalo, na domácím Xubuntu taky ne.

1) Co teda přesně dělá to přesměrování, když vlevo nic nemá?

2) Proč jsem rozhasil školní Gentoo a ty další dva systémy ne?

Díky :)

Comments

Neřeknu ti, co se stalo, ale jak zde uvádí, mělo by se používat : > soubor. Příkaz > soubor prý nemusí fungovat všude.

Greg (Nov 20 '14)
add a comment

1 Answer

Sort by » oldest newest most voted
4

answered Nov 20 '14

Ve většině (snad) shellů bude > soubor ekvivalentní s : > soubor. Respektive dojde k přidání té dvojtečky. Pokud bychom byli v nějakém z těch ostatních shellů, tak kdo ví. Pravděpodobně by se stalo něco jako command not found nebo vůbec nic. Nespouštíme totiž žádný příkaz (osobně bych řekl, že je to ekvivalent stisknutí enteru na prázdné řádce).

Jinak ono "magické" : > soubor je ve skutečnosti true > soubor, takže se vlastně pustí program true, co nic nevypíše (proto bude soubor prázdný) a vrátí nulu.

Pozor: není to ekvivalent k touch. Tohle smaže obsah souboru. Ekvivalent k touch soubor je spíš : >> soubor.

Školní Gentoo pravděpodobně zamrzlo na přístupu k souborovému systému, kdy se tam nějaká chytristika snažila udělat náhled k prázdnému souboru nebo tak něco. Tušil bych, že reboot by to opravil.

link

Comments

Hm... věru podivné. Zkusím to příště zreplikovat, jestli to nebyla přechodná záležitost. Tím "true" si ale nejsem jistý, jestli je toto relevantní specifikace: http://pubs.opengroup.org/onlinepubs/009695399/utilities/colon.html Ale díky za tip, i za to objasnění s touchem, to mi uniklo. Co na to bashový mág @hody? :)

Juraj Šedivý (Nov 20 '14)

Podle http://unix.stackexchange.com/questions/34677/what-is-the-difference-between-and-true to může být obojí - na některých Linuxech je to totéž, na jiných to má drobné rozdíly.

Josef Kokeš (Nov 20 '14)

> soubor je ok ; touch lepe simuluje >> soubor; Chyba kterou popisujete byla zpusobena chybou site (pc bezi ze site)...

hody (Nov 26 '14)
add a comment

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

Add answer

[hide preview]

Question tools

Follow
1 follower

Stats

Asked: Nov 20 '14

Seen: 199 times

Last updated: Nov 20 '14