Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: joeedit 08 Ledna 2015, 10:57:55
-
Zdravím!
Chtěl bych požádat o pomoc se scriptem na uvolnění paměti. V prohlížeči používám jisty java script, který mi při používání postupně zabere celou paměť.
V terminálu používám toto:
sudo sync
sudo su
echo 3 > /proc/sys/vm/drop_caches
Při postupném zadávání tyto příkazy splní svou funkci. Nejsem ale schopný je uspořádat do scriptu, který bych jednoduše spouštěl(ani do aliasu, který jsem zapsal do bashrc) jedním příkazem.
Dostávám tuto chybovou hlášku:
: No such file or directoryne 1: /proc/sys/vm/drop_caches
nebo
bash: proc/sys/vm/drop_caches: Permission denied
Nejraději bych to chtěl používat pomocí aliasu.
Předem díky za pomoc!
-
sudo script.sh
#!/bin/bash
sync
echo 3 > /proc/sys/vm/drop_caches
-
sudo script.sh
#!/bin/bash
sync
echo 3 > /proc/sys/vm/drop_caches
script jsem ulozil jako cache.sh
joe@G580:~$ chmod +x cache.sh
joe@G580:~$ cache.sh
cache.sh: command not found
joe@G580:~$ sudo cache.sh
[sudo] password for joe:
sudo: cache.sh: command not found
joe@G580:~$ ./cache.sh
bash: ./cache.sh: /bin/bash^M: bad interpreter: No such file or directory
joe@G580:~$ sudo ./cache.sh
sudo: unable to execute ./cache.sh: No such file or directory
co dělám špatně?
pebkac...?
-
špatně bude zalamování řádků
windows, linux a mac se lišej v zalamování:
windows má <cr><lf>
mac má <cr>
a linux má <lf>
-
špatně bude zalamování řádků
windows, linux a mac se lišej v zalamování:
windows má <cr><lf>
mac má <cr>
a linux má <lf>
tohle by mě v životě nenapdlo!
pracuju v ubunutu, k editaci používám gedit a když jsem soubor cache.sh otevřel v notepad++ (spouštím jej přes wine), tak byly řádky zalomeny CR LF!
pomohlo konvertovat konce řádků pro UNIX
teď funguje
joe@G580:~$ sudo ./cache.sh
a paměť se uvolní!
teď ještě poslední problém:
joe@G580:~$ alias ram="~/cache.sh"
joe@G580:~$ ram
/home/joe/cache.sh: line 3: /proc/sys/vm/drop_caches: Permission denied
joe@G580:~$ sudo ram
sudo: ram: command not found
pomůžete mi ještě s tím, abych mohl používat ten script přes alias?
už jsem to zapsal zapsal do ~/.bashrc
#My aliases
alias ram="~/.cache.sh"
-
alias nastavujes pro sebe, sudo meni tvou identitu na roota (tam tam alias nefunguje)
Pokud to mermomoci chces vyvolavat jako prikaz, tak si ten script nakopiruj do /usr/share a zmen mu prava na 744
-
alias nastavujes pro sebe, sudo meni tvou identitu na roota (tam tam alias nefunguje)
Pokud to mermomoci chces vyvolavat jako prikaz, tak si ten script nakopiruj do /usr/share a zmen mu prava na 744
OK, díky za vysvětlení!
Teď už si to nějak přizpůsobím ;-)
-
Taky si můžeš do toho skriptu zapsat příkaz se sudem.