Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Конзолни решения


tux

Препоръчан отговор

тогава нещо такова

if [ $(echo $waits|grep  "[0-9]*[smh]" ) != "" ]

И не ползвайте тези двойни скоби :)

Е пак същото е!

Не е от скобите, защото ако махна [[ скоби не работи начина по който аз проверявам, дали първият характер е число.

 

П.п Обаче сега явно ще трябва да проверявам дали пък вторият характер е верен, сега чета да вида как става това със regex.

 

Сори! Още със това си работеше, но промених името на скрипта, пък аз във редактора ми е останал отворен старият скрипт.

 

(работи!)

if [[ "$waits" = [0-9]*[smh] ]]; then

Редактирано от ivoarch (преглед на промените)
Линк към коментара
Сподели в други сайтове

  • Отговори 438
  • Създадено
  • Последен отговор

Потребители с най-много отговори

Е пак същото е!

Не е от скобите, защото ако махна [[ скоби не работи начина по който аз проверявам, дали първият характер е число.

 

П.п Обаче сега явно ще трябва да проверявам дали пък вторият характер е верен, сега чета да вида как става това със regex.

с egrep, моя грешка :)

 ➤ a=1s
[2015-01-03 19:10.50]  ~
 ➤ if [ "$(echo $a|egrep  "[0-9]*[smh]" )" != "" ] ; then echo 0; else echo 1; fi
0
[2015-01-03 19:10.52]  ~
 ➤ a=1r
[2015-01-03 19:11.01]  ~
➤ if [ "$(echo $a|egrep  "[0-9]*[smh]" )" != "" ] ; then echo 0; else echo 1; fi
1
Линк към коментара
Сподели в други сайтове

Хе, мерси но грешката бе моя, още при първият вариант със [shm] стана!

Предпочитам този метод, мерси много за помощта!

 

Редактирах скрипта, така че вече проверява и 2-ри характер зa s|m|h

Линк към коментара
Сподели в други сайтове

Здравейте искам да по питам имали команда  за  ubunto  за истриване на целият инсталационнен файл на phpmyadmin ?

благодаря

Линк към коментара
Сподели в други сайтове

sudo apt-get remove --purge -y phpmyadmin

пти sudo apt-get install phpmyadmin ми изписва следното  

 

E: Failed to fetch hсttp://archive.ubuntu.com/ubuntu/pool/universe/p/phpmyadmin/phpmyadmin_4.0.10-1_all.deb Couldnotresolve 'archive.ubuntu.com'
 
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

при  sudo apt-get update  --fix-missing

 

W: Failed to fetch hсttp://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg Couldnotresolve 'archive.ubuntu.com'
 
W: Some index files failed to download. They have been ignored, or old ones used instead.

защо ми се получава так  и какмога да го упрвя тези игнорирани  файлове 

Благодаря отново!!! 

 
Редактирано от Vask0 (преглед на промените)
Линк към коментара
Сподели в други сайтове

 

пти sudo apt-get install phpmyadmin ми изписва следното  

 

E: Failed to fetch hсttp://archive.ubuntu.com/ubuntu/pool/universe/p/phpmyadmin/phpmyadmin_4.0.10-1_all.deb Couldnotresolve 'archive.ubuntu.com'
 
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

при  sudo apt-get update  --fix-missing

 

W: Failed to fetch hсttp://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg Couldnotresolve 'archive.ubuntu.com'
 
W: Some index files failed to download. They have been ignored, or old ones used instead.

защо ми се получава так  и какмога да го упрвя тези игнорирани  файлове 

Благодаря отново!!! 

 

 

 

Ами ако е правилно това горе,погледни внимателно.Вместо http пише hсttp .

Линк към коментара
Сподели в други сайтове

Ами ако е правилно това горе,погледни внимателно.Вместо http пише hсttp .

Нарочно съм написал hcttp  че ми го дава като линк тук  и за това сложих произволно  да не дава  линка.  иначе  сие http   

Линк към коментара
Сподели в други сайтове

а за  Ubuntu Server 14.04

По добре направете друга тема със съответният въпрос, например "Как да инсталирам phpmyadmin на Ubuntu Server 14.04 "

 

Защото това е съвсем друга тема, която не засяга въпроси от типа на "Как да инсталирам еди какво си"

Не се сърдете, тъкмо така ще може да развиете темата по дълго, като например други проблеми със phpmyadmin-а и Ubuntu server.

 

Поздрави!

Линк към коментара
Сподели в други сайтове

Ако може да доизкусурим едно скриптче, за тези, на които не им се разпознава резолюцията на монитора - вероятно смотани драйвери.

#!/bin/bash
if [ "$#" -ne 3 ]; then echo "usage: $0 width height refresh_rate"; exit 1; fi
CON=`xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"`
CVT=`cvt $1 $2 $3 | sed -n 's/Modeline //p'`
REZ=`echo $CVT | grep -Po '".*?"'`
xrandr --newmode $CVT
xrandr --addmode $CON $REZ
xrandr --output $CON --mode $REZ
Линк към коментара
Сподели в други сайтове

Има вариант и без скрипт за по-мързеливите:

 

xdpyinfo | grep dimensions

Да но в случая със скрипта, колегата добавя резолюция която по странни причини не се намира от драйвера или еди какво си.  Във тази връзка xrandr + cvt е по доброто решение.

 

Също това което вие предлагате става и със xrandr

[[email protected] ~]$ xrandr | grep " connected"
VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 320mm x 240mm

със xdpyinfo (имайте предвид че xdpyinfo понякога дава грешни периметри, като във моят случай)

[[email protected] ~]$ xdpyinfo | grep dimensions
  dimensions:    1024x768 pixels (270x203 millimeters)

За това е най добре тези неща да стават със xrandr,  освен ако нямате някаква причина да искате да ползвате xdpyinfo.

Ако може да доизкусурим едно скриптче, за тези, на които не им се разпознава резолюцията на монитора - вероятно смотани драйвери.

#!/bin/bash
if [ "$#" -ne 3 ]; then echo "usage: $0 width height refresh_rate"; exit 1; fi
CON=`xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"`
CVT=`cvt $1 $2 $3 | sed -n 's/Modeline //p'`
REZ=`echo $CVT | grep -Po '".*?"'`
xrandr --newmode $CVT
xrandr --addmode $CON $REZ
xrandr --output $CON --mode $REZ

Екстра, ще е полезен на доста колеги, тъй като поне във този форум срещал доста често този проблем.

 

Само ще си позволя няколко критики във стила на скрипта, може някои от старите баш майстори да ми скочат :)

 

1. Използвайте $() вместо ``

 

Пример:

 

Грешно.

echo "Current time: `date`"

 

Вярно.

echo "Current time: $(date)"

 

2. На много места сте изпуснали да сложите двойни запетаи ""

 

Това

CVT=`cvt $1 $2 $3 | sed -n 's/Modeline //p'`

да стане

CVT=`cvt "$1" "$2" "$3" | sed -n 's/Modeline //p'`

Също

xrandr --newmode $CVT
xrandr --newmode "$CVT"

Така и другите...xrandr

Редактирано от ivoarch (преглед на промените)
Линк към коментара
Сподели в други сайтове

...

 

Само ще си позволя няколко критики във стила на скрипта, може някои от старите баш майстори да ми скочат :)

 

1. Използвайте $() вместо ``

 

Пример:

 

Грешно.

echo "Current time: `date`"

 

Вярно.

echo "Current time: $(date)"

 

Ако трябва да бъдем прецизни използването на обратните кавички не че е грешно, но се смята за остарял метод. Освен това има някои недостатъци като например не може (лесно) да бъде вградено едно изпълнение в друго. Докато със скобите това работи (последно го пробвах на 4 нива на вграждане :) )

Линк към коментара
Сподели в други сайтове

Грешно.

echo "Current time: `date`"

 

Вярно.

echo "Current time: $(date)"

 

2. На много места сте изпуснали да сложите двойни запетаи ""

 

Това

CVT=`cvt $1 $2 $3 | sed -n 's/Modeline //p'`
да стане

CVT=`cvt "$1" "$2" "$3" | sed -n 's/Modeline //p'`
Също

xrandr --newmode $CVT
xrandr --newmode "$CVT"
Така и другите...xrandr
А защо са грешни? Аз пиша на С/С++/Питон и не претендирам, че съм добър баш-ър, но като ги пиша в конзолата работят :D
echo "Current time: `date`"
Current time: нд яну 11 10:58:59 EET 2015
Линк към коментара
Сподели в други сайтове

А защо са грешни? Аз пиша на С/С++/Питон и не претендирам, че съм добър баш-ър, но като ги пиша в конзолата работят :D

echo "Current time: `date`"
Current time: нд яну 11 10:58:59 EET 2015

Въпросът е не дали работят а дали се смята за добра практика да се ползва подобен синтаксис

Линк към коментара
Сподели в други сайтове

А защо са грешни? Аз пиша на С/С++/Питон и не претендирам, че съм добър баш-ър, но като ги пиша в конзолата работят :D

echo "Current time: `date`"
Current time: нд яну 11 10:58:59 EET 2015

Мисля че горе капитана ни обясни по правилно, моя грешка.

Също от личен опит също знам, че това че едно нещо работи не означава че е правилният начин да стават нещатa.

Дори тук във този форум ми е показвано това много пъти :D (мерси капитане!)

Линк към коментара
Сподели в други сайтове

Някой да ги направи красиво и трябва да се тества :)

Е, не чакай на това :P вече прочете какви са съветите.

Линк към коментара
Сподели в други сайтове

  • 2 месеца по-късно...

Една функция която ползвам във zsh конфига.

 

Запазете във .bashrc за bash , .zshrc за zsh .

my-dir-size(){
  pushd "$1"
  du --max-depth=1 -h . 2> /dev/null |sort -n
  popd
}

Рестартирайте шела.

source .bashrc
source .zshrc

Как работи?

 

От терминал.

my-dir-size <има на директория>
[[email protected] ~]$ my-dir-size Изображения
~/Изображения ~
9,5M    ./Wallpapers
11M     .
~
[[email protected] ~]$ 

Още такива мушенгии тук :D

Редактирано от ivoarch (преглед на промените)
Линк към коментара
Сподели в други сайтове

  • 4 седмици по-късно...

Почти съм сигурен, че не е за тук въпроса, за което се извинявам ако съм бил прав, та ето го и него:

 

#!/bin/bash
 
for ((i=0;i<10;i++));do
echo $i | tr "\n" "-" | sed "s/-$//"
done
 
Заради tr "\n" "-" не ми сработва седа, има ли вариянт да го корегирам, без употребата на IFS?
Редактирано от borko81 (преглед на промените)
Линк към коментара
Сподели в други сайтове

 

Почти съм сигурен, че не е за тук въпроса, за което се извинявам ако съм бил прав, та ето го и него:

 

#!/bin/bash
 
for ((i=0;i<10;i++));do
echo $i | tr "\n" "-" | sed "s/-$//"
done
 
Заради tr "\n" "-" не ми сработва седа, има ли вариянт да го корегирам, без употребата на IFS?

 

Не е ли по-лесно нещо такова:

for ((i=0;i<10;i++));do

printf "%s" $1

done
И в момента не ми се анализира. Та какво искате да постигнете?

П.П. Или даже на един ред:

seq -s " " 0 9|sed 's/ //g'

П.П.П. Или направо така :)

seq -s "" 0 9
Редактирано от capnemo (преглед на промените)
Линк към коментара
Сподели в други сайтове

Идеята ми е от фор клаузата резултата да се подада редактиран от мен. в случая искам да е 1-2-3-4-5-6-7-8-9, а не 1-2-3-4-5-6-7-8-9-, също така да е на един ред, а не в колона, имам вече използване на IFS OFS и въпреки че с тях проблема се решава ми се иска да е по друг начин.

Линк към коментара
Сподели в други сайтове

Идеята ми е от фор клаузата резултата да се подада редактиран от мен. в случая искам да е 1-2-3-4-5-6-7-8-9, а не 1-2-3-4-5-6-7-8-9-, също така да е на един ред, а не в колона, имам вече използване на IFS OFS и въпреки че с тях проблема се решава ми се иска да е по друг начин.

Ето

seq -s "-" 1 9

И по вашия начин тирето винаги ще се премахва, защото стринга, предаван от пайпа ще е цифра- т.е. последния символ е тире. И ще отпечата (ако работи) 123456789

Освен това трябва да започнете цикъла от 1, не от 0, иначе печатате 0,1,2....

Линк към коментара
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване