Diferencia entre revisiones de «Usuario:ManuelRomero/Shell»
(→=Para debugar) |
|||
(7 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 11: | Línea 11: | ||
===Variables=== | ===Variables=== | ||
*Definir variables, directamente '''''variable=valor''''' | *Definir variables, directamente '''''variable=valor''''' | ||
− | <source lang = | + | <source lang = bash> |
#!/bin/sh | #!/bin/sh | ||
edad = 5 | edad = 5 | ||
Línea 28: | Línea 28: | ||
;$* | ;$* | ||
:todos los parámetros menos $0 | :todos los parámetros menos $0 | ||
+ | ;Determinar el valor de una variable de caracteres | ||
+ | El valor de la variable ($var) está vacío (null): | ||
+ | <source lang=bash> | ||
+ | if [ "$var" == "" ] then | ||
+ | echo variable is null | ||
+ | fi | ||
+ | </source> | ||
+ | El valor de la variable ($var) vale manolo | ||
+ | |||
+ | <source lang=bash> | ||
+ | if [ "$var" == "manolo" ] then | ||
+ | echo variable vale manolo | ||
+ | fi | ||
+ | </source> | ||
+ | |||
===Leer variables=== | ===Leer variables=== | ||
;read | ;read | ||
Línea 36: | Línea 51: | ||
===Leer ficheros=== | ===Leer ficheros=== | ||
− | <source lang= | + | <source lang=bash> |
while read linea | while read linea | ||
do | do | ||
Línea 42: | Línea 57: | ||
done < archivo | done < archivo | ||
</source> | </source> | ||
+ | |||
+ | ===Comando if=== | ||
+ | <source lang=bash> | ||
+ | if TEST-COMMANDS; then | ||
+ | |||
+ | CONSEQUENT-COMMANDS; | ||
+ | |||
+ | elif MORE-TEST-COMMANDS; then | ||
+ | |||
+ | MORE-CONSEQUENT-COMMANDS; | ||
+ | |||
+ | else ALTERNATE-CONSEQUENT-COMMANDS; | ||
+ | |||
+ | fi | ||
+ | </source> | ||
+ | ===md5=== | ||
+ | ;comando md5sum | ||
+ | <source lang=bash> | ||
+ | echo -n "wpblog" | md5sum | ||
+ | </source> | ||
+ | Otro ejemplo | ||
+ | <source lang=shell> | ||
+ | md5="set-string-here" | ||
+ | hash="$(echo -n "$md5" | md5sum )" | ||
+ | echo "$hash" | ||
+ | </source> | ||
+ | ===Conocer distribucion instalada=== | ||
+ | cat /etc/issue.net |
Última revisión de 11:32 21 oct 2013
Contenido
Iniciando el programa
- Primera línea hay que indicar que tipo de shell es
#!/bin/sh
- Visualizar un mensaje por pantalla comando echo
#!/bin/sh echo Esto es un shell je je
Variables
- Definir variables, directamente variable=valor
#!/bin/sh edad = 5 nombre = pedro echo hola $nombre tienes %edad años
- Variables disponibles
- $0
- contiene el nombre nombre de nuestro script
- $#
- el número de parámetros con los que se ha invocado al shell
- $n
- los parámetros, con n de 1 a 9 (a $#)
- $$
- el PID de nuestro proceso
- $*
- todos los parámetros menos $0
- Determinar el valor de una variable de caracteres
El valor de la variable ($var) está vacío (null):
if [ "$var" == "" ] then echo variable is null fi
El valor de la variable ($var) vale manolo
if [ "$var" == "manolo" ] then echo variable vale manolo fi
Leer variables
- read
- Con este comando leemos una variable del teclado
Para debugar
#!/bin/bash -xv
Leer ficheros
while read linea do comando done < archivo
Comando if
if TEST-COMMANDS; then CONSEQUENT-COMMANDS; elif MORE-TEST-COMMANDS; then MORE-CONSEQUENT-COMMANDS; else ALTERNATE-CONSEQUENT-COMMANDS; fi
md5
- comando md5sum
echo -n "wpblog" | md5sum
Otro ejemplo
Idioma no válido.
Necesita especificar un idioma como esto: <source lang="html4strict">...</source>
lenguajes soportados para sintaxis remarcada:
4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
md5="set-string-here" hash="$(echo -n "$md5" | md5sum )" echo "$hash"
Conocer distribucion instalada
cat /etc/issue.net