Neuloží se proměnná z textEditu přes přiřazení, ale přes read ano

macík

Z jakého důvodu nejde uložit proměnná v terminálu  tímto příkazem (mámli text v TextEdit, následně vykopírovan do schránky):?
prom=<<'SEPARATON'
CMD V
SEPARATON

proměnná následně je prázdná (echo -n $prom | hexdump)

Ovšem při kopírování ze safari se uloží?
to jako v tom ná nějaký systém zvrácený systém schránky? že se do terminálu dostane zkažený obsah a způsobí, že se neuloží proměnná, ačkoli Při Cmd v se znaky vloží?
« Poslední změna: 26. 01. 2018, 08:28:42 od Petr Krčmář »


macík

zapomněl jsem dodat, že přes read to funguje. A je nutné myslet na to, že text může obsahovat  i řetezce ‹'›, ‹"› a ‹rm rf;›

macík

Změna, je to rozbité i při read.
Jak mám při read docílit ,aby nebylo čtení zastaveno nějakým znakem, který se tam může vyskytnout (používám -d "")? ale zároveň potřebuji čtení nějak ukončit? ale nereaguje to na zkratku Control+D? Případně jak říct read, aby reagoval na zkratku Control-D (-d "^D" ?) Control,D, H nefunguje?


Zastavte se, přestaňte chrlit svá vlastní řešení, a popište, jaký problém řešíte, tj. co je cílem vašeho snažení. A když už budete v tom popisování problému, napište také, v jakém prostředí to řešíte (operační systém, program).

Steve

to jako v tom ná nějaký systém zvrácený systém schránky? že se do terminálu dostane zkažený obsah a způsobí, že se neuloží proměnná, ačkoli Při Cmd v se znaky vloží?

Z casti mas pravdu, ale chyba je na strane TextEdit. Ten ve vychozim nastaveni NENI programatorsky editor a tedy dela nejake upravy zadavaneho textu svevolne. Takze v "Preferences" zapni "Plain text" mode a povypinej vsechny "Smart" features, hlavne "copy/paste". TextEdit jeste vyuziva systemove nastaveni z "Keyboard -> Text" kde mas nejake dvojice co se automaticky nahrazuji, vypni je taky.

Suma sumarum, pouzivej programatorsky editor, defaultne mas v konzoli jak "vim" tak "nano". Z GUI editoru je takovy lehky ale ficurama silny napr.  CotEditor (https://itunes.apple.com/us/app/coteditor/id1024640650?mt=12) nebo jdi po vetsi kanonazi jako Atom, Visual Studio Code, Eclipse atd.



macík

takže Textedit je takový slepenec WYSIWIG a poznámkového bloku:samozřejmě že mám nastaveno Plain místo RTF. Jak může být chyba v textedit, když to konzole se text vloží v pořádku, ale obsah proměnné je prázdný až následně?

Cílem je uložit označený text (odKUĎkoli)  do proměnné.
sice funguje prom=<<'SEPANANTOR'

Cmd V
SEPANATOR

Ale je tam riziko, že se tam vyskytně text sepanator a je to v háji? Je vůbec v OSX x program xclip? Mám OS X, TextEdit,Terminál


macík

jo a ještě jedna věc, jak docílit,aby si mi při kládání proměnné nezaplavila historie (dělá to read nebo <<)? protože teď mám historii (Control+R) plnou vět a ani není možné vyvolat příkazy předtím, asi je to zastínilo?

Steve

Cílem je uložit označený text (odKUĎkoli)  do proměnné.
sice funguje prom=<<'SEPANANTOR'

No tak to delej jako normalni clovek ne?
Kód: [Vybrat]
export macik="je lama";
echo $macik;
je lama

set | grep "macik";
macik='je lama'

macík

Ještě by mě zajímalo, je možné v tom zpropadenym TextEditu nastavit, aby se soubor otevíral "raw", tedy bez formátování? Tím myslím, aby se HTML soubor otevřel jako textový soubor s tagy a ne naformátovaný dokument. Snad to všichni chápou, kdyby ne, tak prosím "Lol, mentále" neodpovídaj a hawrane leť dál, nezastavuj a bobek hoď do jiného vlákna

PS: Napadlo mě soubor .html přejmenovat na .txt, což funguje, ale zajímalo by mě řešení, které nezahrnuje před akcí se drbat levou rukou za pravým uchem a po akce drbání pravým uchem levičácké ruky.