Tri vrste naredbi:
alias
: ispisalias naredba='neka naredba'
: definiranje aliasatype command
ispiše je li naredba alias, shell keyword, ili file
(eksterna).
$PATH
varijabla sadrži listu direktorija koji sadržavaju executable sa
eksternim naredbama. echo $PATH
ispiše sadržaj.
which time
ispiše koji filename je pronađen u $PATH-u.
Ime | Defaultna destinacija | Redirekcija | File descriptor |
---|---|---|---|
STDIN | Tipkovnica | < ili 0< |
0 |
STDOUT | Monitor | > ili 1> |
1 |
STDERR | Monitor | 2> |
2 |
2>&1
: radi redirekciju stderr-a na isto mjesto gdje ide stdout.
Npr. ls > somefile 2>&1
.2> somefile
: stderr pregazi somefile2> /dev/null
: odbaci stderr&>> somefile
: stdout i stderr nadopišu na somefile. Mislim da nije
portabilno sa drugim shellovima.history
: pokazuje listu korištenih naredbi.!number
: ponovi naredbu iz history-a pod tim brojemhistory -d number
: izbriše naredbu pod tim brojem!sometext
: izvši zadnju naredbu u history-u koja počinje sa sometext
history -c
: briše history u memoriji (trenutačno aktivna sesija)history -w
: briše sadržaj .bash_history
-aenv
: ispisuje sve evironment varijable.set
: ispisuje opcije, parametre, varijable i funkcijeset -o nounset
ili set -u
: tretira neincijalizirane varijable kao errorset -o errexit
ili set -e
: exit na prvom erorruset -o pipefail
: pipeline faila ako bilo koji element failaset +o errexit
: isključi errexitset -x
: enable execution tracing
(ispisuje svaki naredbu prije izvrsavanja)set +x
: disable tracingenv
postavlja environment varijable koje će biti proslijeđene child
procesima.
# prints nothing because echo runs in a child with FOO=bar;
# the shell's expansion happens before
env FOO=bar echo "$FOO"
# prints "bar"
env FOO=bar bash -c 'echo $FOO'
Environment varijable se postavljaju u:
/etc/profile
: za sve usere prilikom logina/etc/bashrc
: za svaki subshell~/.bash_profile
: za određenog usera prilikom logina~/.bashrc
: za usera i njegove subshellovelogin shell je shell koji se otvara odmah nakon logina. subshell je svakih sljedeći shell koji se kreira iz postojećeg shella, ili npr. pokretanjem shell skripte.
HISTTIMEFORMAT="%F %T "
: history sa ISO8601 timestampovima
/etc/issue
: poruka koja se ispisuje prije logina/etc/motd
: poruka koja se ispisuje poslje loginaNijedno ne funkcionira pouzdano
Pattern | Matches |
---|---|
* |
Any string of zero or more characters |
? |
Any single character |
[abc...] |
Any one character in the class |
[a-z] or [0-9] |
Ranges |
[!abc...] |
Any one character not in class |
Dodatno:
{a,b,c,d}
: alternation, ili brace expansion. Nije portabilno.mandb
: update manpage databaseman -k string
ili apropos string
: pretrazuje mandb bazuman -f string
: ispiše summary-e za sve stringinfo
ili pinfo
n
: next pagep
: previous pageu
: up one levelExtra: