Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: Destruction в Feb 20, 2006, 08:40



Титла: script
Публикувано от: Destruction в Feb 20, 2006, 08:40
Kак да изведа съдаржанието на файл чрез въвеждане на един символ: примерно скрипта ни да изпълнява няколко команди:
a="night"
echo "$a is my..."

......
4rez vuvejdane na 1 simvol da mi izpulnqwa fail-a?
Примерно при натискане на "а" и да ми изпълни фаил-а


Титла: script
Публикувано от: Hapkoc в Feb 20, 2006, 11:20
Пробвай да зададеш малко по-ясен въпрос.

Аз лично не разбрах какво се цели - при въвждане на символ да се изведе съдържанието на файл на екрана или да се изпълни даден файл?


Титла: script
Публикувано от: poisoner в Feb 20, 2006, 13:38
тва би трябвало да свърши работа
Примерен код

#!/bin/bash
# keypress.sh: Detect a user keypress ("hot keyboard").

echo

old_tty_settings=$(stty -g)   # Save old settings.
stty -icanon
Keypress=$(head -c1)          # or $(dd bs=1 count=1 2> /dev/null)
                              # on non-GNU systems

echo
echo "Key pressed was \""$Keypress"\"." #ТУК си изпълняваш командата ако е натиснато еди кво си
echo

stty "$old_tty_settings"      # Restore old settings.

# Thanks, Stephane Chazelas.

exit 0

http://www.tldp.org/LDP/abs/html/system.html


Титла: script
Публикувано от: GoodT в Feb 20, 2006, 17:31
Най-лесно (доколкото разбирам) е да създадеш линк към бинарния файл - пример:
#ln /usr/bin/top /usr/bin/t
По този начин като въведеш #t и ентер ще се изпълни програмата top

Ако това не те устроива дригия вариант е със скрипт.
ПРИМЕР: създаваш текстов фаил със съдържание:
#!/bin/sh
nmap 127.0.0.1
Запазваш го с име "s" в /usr/sbin правиш го изпълним с #chmod +x /usr/sbin/s
когато въведеш #s и ентер ще се изпълни nmap 127.0.0.1

Друг вариант е с alias пример:
alias l        ls -lа
когато въведеш #l и ентер ще се изпълни ls -la
файла зависи от шела и дистрибуцията.

ПП:Това от мен (до колкото те разбирам) :)


Титла: script
Публикувано от: Destruction в Feb 21, 2006, 08:37
GoodT balgodarq ti ne6to takowa iskah da... az malko spestih pri obqsneniqta no ti si me razbral mersi mnogo... za Hapkoc misalta mi be6e da kajem pravq skript... s ime "Night" i nali si pi6a tam komandata cat > night [enter]
i we4e po4wam da pi6a komandite da kajem
mkdir night
echo "suzdavane na papka"
cd night
touch Night1

i sled kato izlqza ot fail-a da kajem natiskam bukwata "a" i mi izpalnqwa tozi fail kak stawa towa mi ebe6e waprosa 4e az ne6to nemojah da se spravq probwah s

a="a"
echo "$a"
mkdir night
echo "suzdavane na papka"
cd night
touch Night1

ne mi e celta komandata da se izpulnqwa s "/.night" a samo s 1 simvol da kajem "a" towa e :))) nadqwam se 4e tozi put sum upslq da ti obqsnq


Титла: script
Публикувано от: poisoner в Feb 21, 2006, 11:00
то и аз съвсем друго бях разбрал.
А то беше че като изпълниш някаъв скрипт, той да чака да въведеш някъв символ, напр "а" и при "а" да изпълнява друг скрипт или програма, при "б" друго и тн.

И ако го правиш това по начина на GoodT, скриптовете ги слагай не в /уср/бин и /уср/сбин а в:
/usr/local/bin
и
/usr/local/sbin

бтв: пиши на кирилица. и обяснявай повече в постовете.


Титла: script
Публикувано от: Destruction в Feb 21, 2006, 11:16
Здравейте момчета сега съм на даскало и се мъча ама нещо нестаа :( все се пробвам най различни неща тряя направя script и в scriptа да въведа променливи и др. неща така, че в края с 1 буква да ми извежда няколко команди които аз въведа това е целта ама нещо немога да го направя както трябва :(

probwal sum warianta:
a="night"
echo "$a"
mkdir night
touch night
ls -l

и в края искам да въведа да кажем символа "а" и да ми изпълни тези команди :)
успях ли да ви обясня какво искам да направя и не се получава?? :) надявам се този път да съм успял
shella е в bin/bash ( ако това ви помага ) :)


Титла: script
Публикувано от: Destruction в Feb 21, 2006, 12:34
Еи приятели открих го как става... :) Благодаря ви :) че ми помогнахте :)