Титла: [SOLVED]Цветен Промпт Публикувано от: 4096bits в Jan 08, 2015, 15:56 Опитах се да си направя промпта цветен. Той си беше цветен, но аз се опитах да го направя с други цветове. Копирах цветните кодове от този ($2) адрес с в началото на .bashrc и на мястото на PS1 чудесията
написах ето това: Код: if [ "$UID = 0" ]; then Нищо не стана. Промпта си върна цвета зададен от профила на терминала и bash изплю тази грешка: Код: bash: /home/victor/.bashrc: line 188: unexpected EOF while looking for matching `'' На въпросния ред 188 има коментар. Титла: Re: Цветен Промпт Публикувано от: Acho в Jan 08, 2015, 16:04 А къде е /home/victor/.bashrc в чиито 188 и 197 редове ти дава грешки ? Предполагам ако го пуснеш тук, колегите ще кажат какво е липсващото.
Титла: Re: Цветен Промпт Публикувано от: satir в Jan 08, 2015, 16:17 по мое мнение скобата е на 197-и ред, а щом е "затваряща" аз бих проверил къде е "отварящата".
Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 08, 2015, 16:41 А къде е /home/victor/.bashrc в чиито 188 и 197 редове ти дава грешки ? Предполагам ако го пуснеш тук, колегите ще кажат какво е липсващото.Ми не ми се пускаше цялото нещо, да заливам тук форума, но ето го: Код: # Bash Named Color Codes Титла: Re: Цветен Промпт Публикувано от: neter в Jan 08, 2015, 17:20 На ред 136 си пропуснал кавички и интервал. Този ред трябва да бъде:
Код
На ред 151 си добавил излишна наклонена черта. Този ред трябва да бъде: Код
Условието за $UID, започващо на ред 137, е безсмислено (на всичкото отгоре и с пропуснати кавички в него) - този .bashrc файл се чете само от потребителя ти victor, така че $UID при четенето на файла никога не е 0. Настройката за цветовете на root трябва да се въведат в /root/.bashrc, а настройките за други потребители - в .bashrc файла в тяхната домашна папка. Добави си интервал в края на указателя за цветовете, за да не ти се сливат надписите в конзолата! Т.е., например: Код
П.П.: Форумът има и опция за прикачване на файлове към постовете. Погледни линка "Допълнителни опции", намиращ се под текстовото поле за писане на пост! Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 08, 2015, 20:04 Благодаря! Сега ще направя промените. Тъчпада ми е големичък и го закачам и явно съм изтрил, там каквото липсва. А как не съм се сетил, че този .bashrc само аз си го чета, не мога изобщо и да помисля :D
Сега ми дава грешка на ред 173, този с дългия регулярен израз. Който ми е като мишмаш, но там не видях проблем със скобите. bash: /home/victor/.bashrc: line 173: unexpected EOF while looking for matching `)' bash: /home/victor/.bashrc: line 194: syntax error: unexpected end of file Титла: Re: Цветен Промпт Публикувано от: neter в Jan 08, 2015, 20:14 Ами дай пак да видим текущото съдържание на файла, за да не правим голи предположения :)
Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 08, 2015, 20:16 Ами дай пак да видим текущото съдържание на файла, за да не правим голи предположения :) Титла: Re: Цветен Промпт Публикувано от: neter в Jan 08, 2015, 21:13 Проблемът не се предизвиква от грешка на ред 173, а от грешка отново на ред 136 - не си го редактирал точно така, както ти казах (пак си отървал кавички), поради което редовете надолу са влизали в общ блок, чак до част от ред 173, и тъй като така ред 173 е изглеждал непълен, интерпретаторът съобщава за грешка там.
Все пак, като спомена ред 173, каква точно функция очакваш да изпълнява въведеният там alias? При така въведения код при команда "alert" ще ти изскача балонче, в което винаги ще пише само "alert", като само иконката ще се сменя, според статуса на изпълнение на предходната команда, което обезсмисля четенето на историята и прилагането на регулярния израз. Може би искаш в балончето да се изписва предходната команда, за да бъдеш известяван какво се е изпълнило последно и с какъв статус? Титла: Re: Цветен Промпт Публикувано от: Odido в Jan 08, 2015, 22:50 Преди време ,като започнах със сидукс (сегашния аптосид) си правих цветен терминала от тук.: http://manual.aptosid.com/en/term-konsole-en.htm
Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 09, 2015, 01:32 Този ред си беше там. Чудех се дали да не го коментирам и него. Регулярния израз ми е мътна работа, но го видях, че не прави нещо особено. Промпта стана. Само да му махна интервалите, че май без тях по-добре. Мерси! Отдавна не съм се хващам май да пиша код :D
Странно но \$ не показва знак #, когато напиша sudo -s Титла: Re: Цветен Промпт Публикувано от: neter в Jan 09, 2015, 02:24 Странно но \$ не показва знак #, когато напиша sudo -sВидът на промпта на root не се управлява от .bashrc файла на твоя потребител, дори и при влизане със sudo. Сигурен ли си, че успяваш да влезеш като root при това изпълнение на sudo? Да не се окаже, че потребителят ти няма право да изпълнява sudo, или има някакъв друг проблем с изпълнението на sudo, при което да си оставаш в този потребител, а инерционно да си мислиш, че това е на root. Ако си сигурен, че влизаш, то да не би да си пипал нещо в /root/.bashrc или /etc/bashrc? Информативно за регулярния израз. Командата, в която се намира, взема последния ред от историята на изпълнените команди и целта на регулярния израз в sed е да премахне (замени с нищо) някои излишни части от прихванатия текст. Всъщност, изразите са два: Цитат ^\s*[0-9]\+\s*и Цитат [;&|]\s*alert$ Легенда: ^ - означава "начало на реда" \s* - интервали; звездичката е за брой - нула или повече [0-9]\+ - цифри от 0 до 9; плюсът е за брой - една или повече [;&|] - един от символите ";", "&" или "|" alert - думата "alert" $ - означава "край на реда" Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 09, 2015, 09:25 В /root/.bashrc само поставих промпта, който искам да се появява. Потребителят ми може да използва sudo, това си е мойта машина. И изпълнявам судо. Когато изпълня sudo -s, потребителя се сменя на root ( първото в промпта ), но не се сменя $ на #
Титла: Re: Цветен Промпт Публикувано от: neter в Jan 09, 2015, 09:39 И текущото съдържание на /root/.bashrc е? :)
Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 09, 2015, 11:30 И текущото съдържание на /root/.bashrc е? :) Титла: Re: Цветен Промпт Публикувано от: neter в Jan 09, 2015, 12:11 Доларът ти остава без наклонена черта пред него в крайната стойност на променливата $PS1, заради двойните кавички. Добави си още една наклонена черта пред него и ще стане. Няма да е зле да го направиш и във файла за обикновения потребител.
Трябва да си добавиш променливите за цветовете и в /root/.bashrc, за да действат и за root. А може и да ги махнеш от локалните потребителски файлове и да ги плеснеш в /etc/bash.bashrc, за да са си на едно място и да действат за всички потребители (включително и за евентуално добавени нови). Такова изнасяне можеш да направиш и за променливата $PS1, за да не си играеш да я въвеждаш за всеки новосъздаден потребител. Тогава вече би имало смисъл от if-ове за $UID, за да показваш различни цветове, ако искаш. Титла: Re: Цветен Промпт Публикувано от: 4096bits в Jan 09, 2015, 13:24 Хм! Нещо оглупявам ли?! Можех и сам да проверя стойността на $PS1, ама кой да се сети. Сложих още една обратно наклонена, в Tilda-та нищо не се промени, но в терминала на XFCE всичко си дойде на мястото.
Сега ще рова за кавичките в bash. Не може такива елементарни неща да ме спъват |