Este es el comando sqsh que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
sqsh - Shell de base de datos interactivo (versión 2.1.7)
SINOPSIS
sqsh [[opciones]] [[argumentos ......]]
[-un recuento]
[-Tamaño_paquete]
[ -B ]
[ -B ]
[-c [cmdend]]
[-C sql]
[-d gravedad]
[-D base de datos]
[-e]
[-E editor]
[-f gravedad]
[-G tds_version]
[-h]
[-H nombre de host]
[-i nombre de archivo]
[-I interfaces]
[-J juego de caracteres]
[-k palabras clave]
[-K keytab]
[-l debug_flags]
[-L var = valor]
[-m estilo]
[-n encendido | apagado]
[-N nombre de aplicación]
[-o nombre de archivo]
[ -pags ]
[-P [contraseña]]
[-Q query_timeout]
[-r [sqshrc]]
[-R principal del servidor]
[-s colsep]
[-S servidor]
[-t [filtro]]
[-T login_timeout]
[-U nombre de usuario]
[-v]
[-V [bcdimoqru]]
[-w ancho]
[ -X ]
[-y directorio]
[-z idioma]
[-Z [secmech | predeterminado | ninguno]]
DESCRIPCIÓN
Sqsh (pronunciado skwish) es la abreviatura de SQshelL (pronunciado sq-shell) y está destinado a
reemplazo del venerable programa 'isql' proporcionado por Sybase. Surgió debido a
años de frustración de intentar hacer un trabajo real con un programa que nunca tuvo la intención de
realizar trabajo real.
Sqsh es mucho más que un mensaje agradable, está destinado a proporcionar gran parte de la funcionalidad
proporcionado por un buen shell, como variables, aliasing, redirección, tuberías, back-grounding,
control de trabajos, historial, sustitución de comandos y configuración dinámica. Además, como by-
producto del diseño, es muy fácil de ampliar y añadir funcionalidad.
OPCIONES
Las siguientes opciones pueden usarse para ajustar parte del comportamiento de sqsh, sin embargo, una gran
parte de las opciones de configuración están disponibles solo a través de variables de entorno
que se puede configurar en tiempo de ejecución o mediante un archivo .sqshrc.
También se pueden proporcionar opciones en la variable de entorno SQSH. Esta variable se analiza
antes de analizar la línea de comando, por lo que en la mayoría de los casos la línea de comando anulará la
contenido de la variable. Tenga en cuenta que para las opciones que se pueden suministrar
varias veces, como -c, proporcionarlos tanto en una variable como en la línea de comando
Ser lo mismo que suministrarlos varias veces en la línea de comando.
-un recuento
Establece el máximo contar de fallas (según lo determinado por la variable $ thresh_fail) que
puede ocurrir antes de que sqsh aborte. Establecer esto en 0 indica que sqsh no debe
Salir en caso de errores. Este valor predeterminado es 0 y también se puede establecer usando $ thresh_exit
variable. Mira la sección SALIR ESTADO para obtener más detalles.
-Un tamaño de paquete
Especifica el tamaño de los paquetes TDS de red que se utilizan para comunicarse con el servidor SQL.
Este valor debe estar entre 512 y 8192, y ser un múltiplo de 512. Verifique su SQL
Configuración del servidor para determinar los tamaños de paquetes admitidos. Este valor también puede ser
especificado en tiempo de ejecución usando la variable $ packet_size.
-b Suprime el mensaje de banner al inicio. Esto es innecesario en los casos en los que stdout
ha sido redirigido a un archivo. Esta opción también se puede configurar mediante la variable $ banner.
-B Desactiva todo el almacenamiento en búfer de stdin, stdout y stderr. Esta característica permite que sqsh sea
ejecutar desde un script de control interactivo como chat y esperar.
-c [ordenar]
Internamente, sqsh proporciona el comando \Vamos para enviar un lote de SQL a la base de datos y
proporciona un solo alias, go para este comando. Cada vez ordenar se le proporciona un nuevo alias
for \Vamos se establece
-C sql
Causa el sql comando para ser ejecutado por sqsh, similar al mismo comportamiento exhibido
por la bandera -i. Esta sql La declaración no puede contener comillas dobles (esta limitación puede
se levantará en una versión futura de sqsh).
-d gravedad
Establece la gravedad mínima del error de SQL Server que se mostrará al usuario. El
el valor predeterminado es 0 y los rangos válidos son de 0 a 22. Esto también se puede configurar utilizando el
Variable $ thresh_display. Mira la sección SALIR ESTADO.
-D base de datos
Hace que sqsh intente comenzar con el contexto de su base de datos configurado en base de datos más bien que
su base de datos predeterminada (generalmente maestra). Esto también se puede configurar usando la base de datos $
variable.
-e Incluye cada comando enviado a sqsh para ser incluido en la salida. Esta opción puede
también se configura a través de la variable $ echo (que no está relacionada con la \eco mando).
-E editor
Establezca el editor predeterminado en editor. Esto también se puede configurar utilizando el entorno UNIX.
variable $ EDITOR al nombre del editor deseado.
-f gravedad
Establece el mínimo gravedad nivel considerado un fracaso por sqsh. Esto es lo mismo que
configurando la variable $ thresh_fail. Mira la sección SALIR ESTADO para obtener más detalles.
-G tds_versión
Configure la versión de TDS que se utilizará. Las versiones válidas son 4.0, 4.2, 4.6, 4.9.5, 5.0 y freetds
también es compatible con las versiones 7.0 y 8.0. El valor especificado se asigna al
variable $ tds_version. La validación de entrada no la realiza sqsh. Sin embargo, cuando un
Si se especifica una versión de TDS no válida, se utilizará la versión predeterminada de 5.0. Después de
La sesión está configurada, la variable $ tds_version se establecerá en la versión TDS vigente.
La variable no estará disponible si no se usa la opción -G. Destinado a prueba y
solo con fines de depuración.
TDS significa Tabular Data Stream y es el protocolo de comunicación Sybase y
Microsoft utiliza para la comunicación Cliente-Servidor.
-h Desactiva los encabezados de columna y el final "(# filas afectadas)" de la salida por lotes.
-H nombre de host
Establece el nombre de host del cliente como se informa en sysprocesses. Esto también se puede configurar a través del
$ variable de nombre de host.
-i nombre de archivo
Leer toda la entrada de nombre de archivo en lugar de stdin.
-yo interfaces
Cuando se establece una conexión a la base de datos, el las interfaces el archivo se usa para convertir
el valor de $ DSQUERY en el nombre de host y el puerto al que se realizará la conexión,
de forma predeterminada, se encuentra en $ SYBASE / interfaces. Esta bandera permite que este valor predeterminado sea
anulado.
-J juego de caracteres
Especifica el juego de caracteres que se utilizará en el lado del cliente para comunicarse con SQL
Servidor. Esto también se puede configurar usando la variable de entorno $ charset.
-k palabras clave
Especifica un archivo que contiene una lista de palabras clave que se utilizarán para completar la pestaña de palabras clave,
si el soporte de readline se ha compilado en sqsh. Este archivo también se puede configurar a través del
Variable $ keyword_file, que por defecto es $ HOME / .sqsh_words.
-K tabulador
Soporte Kerberos. Especifique el nombre del archivo de tabla de claves para DCE.
Consulte la sección Compatibilidad con Kerberos a continuación para obtener más detalles.
-l banderas_depuración
Si sqsh se ha compilado con -DDEBUG, esta opción puede usarse para encender y apagar
opciones de depuración. Vea la variable $ debug, a continuación.
-L var = valor
Establece el valor de $ var en propuesta de. Esto puede usarse para establecer el valor de cualquier sqsh
variable incluso si se proporciona una variable de línea de comando explícita para configurar el
variable. La -L La bandera se puede usar para establecer el valor de las variables que no son de configuración como
bien.
-m estilo
Cambia el estilo de visualización actual a style. Los estilos admitidos actualmente son horizonte,
verde, BCP, csv, html, meta, bastante y ninguna. El estilo de visualización actual también se puede configurar
usando la variable $ style o mediante la -m bandera a la \Vamos mando.
-n encendido | apagado
Habilita el modo de transacción encadenada al conectarse (si está activado). Modo de transacción encadenada
también se conoce como modo "AutoCommit desactivado".
-N nombre de aplicación
Establezca el nombre de la aplicación que usa sqsh para identificarse en el servidor SQL. El
El nombre de la aplicación se puede recuperar del servidor usando la columna nombre_programa de las
tabla master.dbo.sysprocesses. Predeterminado a sqsh-2.1.7.
-o nombre de archivo
Redirige toda la salida a nombre de archivo en lugar de stdout.
-p Muestra las estadísticas de rendimiento al completar cada lote de SQL. Esta opción puede
también se puede activar a través de la variable $ statistics, o proporcionando el -p bandera a la \Vamos
mando.
-P [contraseña]
El Sybase la contraseña for nombre de usuario requerido para conectarse a servidor (predeterminado, NULL). El
la contraseña también se puede configurar mediante $ contraseña. Proporcionar una contraseña de '-' hace que el
contraseña que se leerá desde la primera línea de stdin.
sqsh se esfuerza por ocultar la contraseña a cualquier usuario que intente ver la línea de comando
utilizado para iniciar sqsh, así que usando -P no debe constituir un agujero de seguridad.
Alternativamente, puede almacenar su contraseña predeterminada en un archivo .sqshrc que no es
legible por cualquier persona que no sea usted mismo. (chmod 600 .sqshrc)
-Valor Q
Valor de tiempo de espera de consulta (equivalente a la opción -t de isql). Si se establece, el tiempo de espera
consulta en ejecución. Mapas a la $ query_timeout variable.
Por ejemplo:
sqsh -SASE1502 -Estados Unidos -P -Q30
ASE1502.sa.master.1> cd tix
ASE1502.sa.tix.1> seleccione el recuento (*) de E_TIX;
Mensaje de cliente abierto
Capa 1, Origen 2, Severidad 2, Número 63
ct_results (): capa de api de usuario: error interno de la biblioteca de cliente:
Se agotó el tiempo de espera de lectura del servidor.
ASE1502: tiempo de espera de consulta o comando detectado, comando / lote cancelado
ASE1502: La conexión del cliente ha detectado esto 1 vez (s).
Vea también el $ max_timeout variable, que controla el número de veces que un tiempo de espera puede
ocurrir en la conexión actual antes de que se cancele la sesión.
-r [sqshrc]
Especifica una alternativa .sqshrc archivo que se procesará, en lugar del predeterminado. Si no
sqshrc se suministra siguiendo -r, entonces no se procesan archivos de inicialización. Esta bandera
deben sea el primer argumento proporcionado en la línea de comando, todas las demás instancias serán
ignorado
-R servidor_principal
Compatibilidad con Kerberos: especifica un servidor directora utilizar para la red (Kerberos)
autenticación, si el nombre del servidor en el archivo de interfaces difiere del servidor real
nombre.
Consulte la sección Compatibilidad con Kerberos a continuación para obtener más detalles.
-s colapso
Causa la cuerda colapsar que se utilizará para delimitar las columnas de salida de la columna SQL, este
por defecto es "".
-S servidor
El nombre de Sybase servidor para conectarse, el valor predeterminado de esto es el externo
variable de entorno $ DSQUERY. Si ninguno -S ni $ DSQUERY está establecido, por defecto es
"SYBASE". Este valor también se puede establecer mediante la variable interna $ DSQUERY.
-t [filtro]
Permite el filtrado de lotes de comandos a través de un programa externo, filtrar, y antes de
que se envía al servidor SQL. Si filtrar no se proporciona, entonces se usa $ filter_prog
(el valor predeterminado es 'm4 -'). Este valor también se puede establecer a través de $ filter y $ filter_prog
variables.
-Valor T
Especifica el tiempo de espera de inicio de sesión (similar al indicador -l de isql). Si se establece especifica el número
de segundos sqsh esperará antes de que se agote el tiempo de espera de una solicitud de inicio de sesión. Mapas a la
$ login_timeout variable.
-U nombre de usuario
El Sybase nombre de usuario para conectarse a la base de datos como, este valor predeterminado es el nombre de usuario de
el usuario corriendo sqsh. nombre de usuario también se puede configurar a través de la variable $ username.
-v Muestra el número de versión, $ versión y sale.
-V [bcdimoqru]
Compatibilidad con Kerberos: especifique las opciones de seguridad que se utilizarán.
Consulte la sección Compatibilidad con Kerberos a continuación para obtener más detalles.
-w ancho
La salida máxima anchura de un conjunto de resultados mostrado, este valor predeterminado es el ancho de su pantalla
en modo interactivo.
-X Inicia la conexión de inicio de sesión al servidor con cifrado de contraseña del lado del cliente (si
soportado). Si SQL Server no reconoce esta opción, o si la versión de
CT-Lib utilizado para compilar sqsh no admite esta opción, se ignorará.
Esta opción también se puede configurar mediante la variable de entorno de cifrado $.
-y directorio
Especifica una SYBASE directorio utilizar un valor diferente al de $ SYBASE para encontrar
el archivo de interfaces.
-z idioma
Especifica una alternativa idioma para mostrar avisos y mensajes de sqsh. Sin el -z
, se utilizará el idioma predeterminado del servidor. Esto también se puede configurar usando el
$ variable de idioma.
-Z [secmech | predeterminado | ninguno]
Compatibilidad con Kerberos: especifique el mecanismo de seguridad que se utilizará.
Consulte la sección Compatibilidad con Kerberos a continuación para obtener más detalles.
argumentos ...
Si sqsh se ejecuta con el -i bandera que especifica un archivo de entrada para ser procesado (en lugar de
iniciar una sesión interactiva), los argumentos se pueden proporcionar en la línea de comando para
pasar al archivo de entrada. Se puede acceder a estos argumentos mediante las variables $ {0},
$ {1}, ... (ver el Variables sección, a continuación, para obtener más información).
Inicialización
Al iniciarse, sqsh inicializa todas las variables de entorno internas, comandos y alias
a sus valores predeterminados, luego busca en el archivo de configuración de todo el sistema, / etc / sqshrc,
seguido de un archivo de configuración local $ HOME / .sqshrc (esto puede ser anulado a través del
Variable de entorno externo SQSHRC). Si se encuentra este archivo, se ejecuta como un
el script estaría usando el -i bandera.
El .sqshrc El archivo puede contener cualquier cosa que normalmente se podría escribir en el indicador, sin embargo
Cabe señalar que en el momento en que se lee este archivo, sqsh aún tiene que establecer un
conexión a la base de datos, sin embargo, la mayoría de los comandos que realizan la actividad de la base de datos, como
\Vamos intentará establecer una conexión a la base de datos cuando se ejecute (también puede solicitarle
para una contraseña si es necesario). Además, si se requiere actividad de la base de datos dentro de este inicio
archivo, el \conectar comando (ver COMANDOS, a continuación) se puede ejecutar.
Una vez que el .sqshrc el archivo ha sido ejecutado, sqsh luego analiza las opciones de la línea de comando (por lo tanto
cualquier variable establecida en su .sqshrc El archivo puede ser anulado por las opciones de la línea de comandos).
Siguiendo eso, si sqsh se ejecuta en modo interactivo (es decir, sin -i y si stdin es
adjunto a un tty), luego busca .sqsh_historia y carga el contenido de ese archivo
en este búfer de historial (ver Amortiguadoresa continuación).
Inmediatamente antes de establecer una conexión a la base de datos (ya sea durante el inicio o
por un explícito \conectar or \ reconectar comando), se ejecuta el archivo $ HOME / .sqsh_session.
El nombre de este archivo se puede anular usando la variable $ session.
Comando línea
Cuando una línea es leída por primera vez por sqsh, la primera palabra está separada de la línea. Esta palabra
luego se expande de todas las variables (ver Variable Sustitución, a continuación), seguido del comando
expansión (ver Comando Sustitución, debajo). La primera palabra de la cadena resultante es
luego analizado para ver si es un válido sqsh comando o alias.
El sqsh La línea de comandos sigue muchas de las mismas reglas que el shell Bourne, lo que permite que el archivo
redirección, canalización, sustitución de comandos y respaldo a través de la misma sintaxis.
Comentarios
Cualquier línea que comience con un # seguido de un carácter no alfanumérico (cualquier carácter que no sea
que 0-9, az, AZ y _) hace que se ignore toda la línea. Por lo posible
colisión con nombres de tabla temporal específicos de la sesión de T-SQL, la línea no se ignorará si
el primer carácter que sigue al #, es alfanumérico.
Citando
Las comillas se utilizan para evitar la interpretación de palabras clave o caracteres especiales en sqsh,
como espacios en blanco, expansión variable o sustitución de comandos. Hay tres tipos de
citando escapar, comillas simplesy doble comillas.
Incluir caracteres entre comillas simples conserva la interpretación literal de cada uno.
carácter contenido entre las comillas. Una comilla simple no puede aparecer entre comillas simples,
incluso cuando va precedido de una fuga. Por ejemplo:
1> \ echo no puedo expandir '$ username'
salidas
No puedo expandir $ username
Los caracteres \\ se utilizan para escapar del significado (y así evitar la interpretación) de
el personaje que los sigue inmediatamente. El carácter \ en sí puede escaparse. Para
ejemplo:
1> \ echo No puedo expandir '$ username'
salidas
No puedo expandir $ username
El carácter de escape también se puede utilizar para escapar de una nueva línea con el fin de realizar una línea
continuación, en este caso la nueva línea se descarta y la línea continua es
añadido automáticamente a la línea anterior, por ejemplo:
1> \ echo Hola \\
-> ¡Mundo!
Hola Mundo!
Incluir caracteres entre comillas dobles conserva el significado literal de todos los caracteres
dentro de ellos con la excepción de $, 'y \\. Puede incluirse una comilla doble en
comillas dobles escapándose de él.
1> \ echo "\\" No puedo negarlo, me gusta $ username \\ ", dijo"
imprime
"No puedo negarlo, me gusta el gris", dijo.
Expansión
Después de leer una línea de entrada, sqsh intenta expandir la línea de cualquier alias (ver
Aliasing, a continuación), a continuación, intenta determinar si la línea comienza con un
palabra clave de comando. Una vez que se ha determinado que una línea contiene un nombre de comando, tiene dos
tipos de expansión realizados hasta él: variable sustitución (XNUMX %) comando
sustitución respectivamente. Después de esta expansión, la línea de comando se separa en
palabras y el comando se ejecuta.
Variable Sustitución
El carácter $ se usa para indicar la sustitución o expansión de variables dentro de una palabra.
Estas variables pueden tener valores asignados por el \colocar comando como tal:
1> \ set nombre = valor
nombre puede ser un carácter o un guión bajo seguido de cualquier combinación de caracteres, dígitos,
o subrayado, y no puede contener ningún carácter especial, como (') y (").
Se introduce la restricción de que el primer carácter sea un dígito porque SQL permite
representación de tipos de datos monetarios como $ nn.nn donde n es un dígito.
propuesta de puede contener cualquier cosa, sin embargo, si va a incluir espacios en blanco, entonces debe ser
citado (ver Palabras & Citando, sobre). Tenga en cuenta que para evitar la expansión de un
variable use comillas simples o dos \, así:
1> \ echo \\ $ nombre
$ nombre
Se puede hacer referencia a las variables de dos formas:
$ variable De esta manera, todos los caracteres, dígitos y guiones bajos se tratan como nombre
de la variable hasta que se alcance otro tipo de carácter (ya sea un carácter especial, o
un espacio en blanco). $ {variable} Las llaves son necesarias solo cuando variable es seguido por un
letra, dígito o subrayado que no debe interpretarse como parte de su nombre. Tenga en cuenta que
se puede lograr el mismo efecto utilizando comillas dobles.
Cabe señalar que debido a que las variables se expanden antes de romper el comando
línea en palabras, si el contenido de la variable contiene espacios en blanco, se tratan como
significativo por el analizador. En el siguiente ejemplo:
1> \ set x = "1 2 3"
1> \ echo $ x
los \eco El comando recibe tres argumentos, "1", "2" y "3", aunque parece que
sólo se le pasó un argumento. Este comportamiento es consistente con la mayoría de los shells (como
csh, shell bourne, etc.).
Comando Sustitución
Sqsh admite una segunda forma de expansión llamada comando sustitución. Esta forma de
La expansión sustituye un comando en la línea de comandos con la salida del UNIX externo.
mando. Esta expansión se puede lograr colocando la línea de comando que se ejecutará en
comillas inversas (`). Por ejemplo:
1> \ establecer contraseña = `/ sybase / bin / getpwd $ DSQUERY`
1> \ echo $ contraseña
me gustan los pepinillos
Este ejemplo, el programa externo / sybase / bin / getpwd se ejecuta con la corriente
contenido de la variable de entorno $ DSQUERY, la expresión completa se reemplaza con
la salida de obtenerpwd (me gustan los pepinillos) antes de ejecutar el \colocar mando. Por defecto, el
La salida del comando sustituido se divide primero en palabras de acuerdo con el contenido de
la variable $ ifs antes de ensamblar de nuevo en la línea de comando. Entonces por
anulando el contenido de $ ifs puede afectar el comportamiento del proceso de sustitución.
Por ejemplo:
1> \ set ifs = ":"
1> \ echo `echo hola: cómo: estás: tú`
Hola como estas
Este mecanismo suele ser útil para analizar archivos de entrada, como / Etc / passwd into
campos.
Entrada / Salida Redirección
Al igual que con el shell Bourne estándar (y la mayoría de los demás shells, para el caso), la entrada de un comando
y la salida puede ser redirigida usando una notación especial interpretada por el shell. El
lo siguiente puede aparecer en cualquier lugar de la línea de comando, pero solo la redirección que se especifica
antes a una tubería (|) en realidad tiene algún efecto en el comportamiento de los comandos internos de sqsh
(Referirse a Tuberíaa continuación).
<palabra
Usa el archivo palabra clave como entrada estándar para el comando. Normalmente muy pocos sqsh
los comandos realmente leen cualquier cosa de stdin, por lo que esto generalmente no tendrá ningún efecto (consulte
los \círculo mando).
[n]> palabra
Asociar la salida del descriptor de archivo n (stdout, por defecto) con archivo palabra clave. Si esto
el archivo no existe se crea; de lo contrario, se trunca a una longitud cero.
[n] >> palabra
Anexar la salida del descriptor de archivo n (stdout, por defecto) para archivar palabra clave, creándolo
si no existe.
[m]> & n
Redirigir la salida del descriptor de archivo m (stdout por defecto), a la misma salida que el archivo
descriptor n. El orden en el que se especifican las redirecciones en la línea de comando es
significativo, ya que las redirecciones se evalúan de izquierda a derecha. Por ejemplo:
1> seleccionar * de seleccionar / * error de sintaxis * /
2> \ go> / tmp / salida 2> & 1
Esta declaración primero redirige la salida estándar del \Vamos comando al archivo
/ tmp / salida, luego redirige el stderr al mismo archivo. Entonces, cuando los comandos fallan,
la salida de error se encontrará en el archivo / tmp / salida.
Sin embargo, al cambiar el orden de la redirección, puede cambiar completamente el significado:
1> seleccionar * de seleccionar
2> \ go 2> & 1> / tmp / salida
Msj 156, nivel 15, estado 1
Servidor 'SQSH_TEST', Línea 1
Sintaxis incorrecta cerca de la palabra clave 'seleccionar'.
En este caso, la salida de error se enviará a stdout, mientras que lo que habría ido a
stdout se redirige a / tmp / salida (en este caso / tmp / salida estará vacío).
Lea la sección sobre Antecedentes Ofertas de empleo, a continuación, para obtener información detallada sobre la interacción
entre la redirección de archivos y los trabajos en segundo plano.
Tubería
A industrial es una secuencia de uno o más comandos separados por un '|', cada comando usando
stdout del programa anterior para su propio stdin. Sin embargo, el primer comando en el
industrial debe ser un comando sqsh, y todos los demás comandos deben ser externos (o UNIX)
programas. Cualquier comando sqsh puede ejecutarse a través de una canalización, aunque para muchos de ellos (como
como el \colocar comando) realmente no tiene ningún sentido hacer esto. La siguiente es una
ejemplo de un industrial:
1> seleccionar * de syslogins
2> \ go | más
Este comando hace que el conjunto de resultados generado por el \Vamos comando que se enviará al Saber más(1)
programa, que luego lo envía a su pantalla, haciendo una pausa en cada pantalla llena de datos (esto es
la razón principal por la que escribí sqsh).
Hay varias peculiaridades en la forma en que sqsh se ocupa de tuberías en oposición
a la forma en que los trata el shell Bourne estándar.
Todo lo que sigue a la primera aparición de un carácter de barra vertical (|) se divide en blanco
palabras delimitadas por espacios, incluidos comandos de shell especiales como '2> & 1' y otros
apariciones de tuberías. Si hay variables contenidas en estas palabras, son
ampliado siguiendo las mismas reglas de cotización que se describen en Palabras & Citando, arriba, con el
una excepción es que todas las citas se dejan en su lugar. Estas palabras luego se vuelven a ensamblar en un
una sola cuerda y enviado a / Bin / sh para procesar.
En resumen, sqsh no intenta interpretar lo que sigue a la primera tubería, sino que
enviado a un caparazón "real" para hacer el trabajo. La razón detrás de esto es que era un vago.
y no tenía ganas de escribir todo el mismo manejo de variables extraño, && 'ing, ||' ing,
agrupación, y reglas de expansión variable que Bourne Shell admite, y en su lugar dejo
Bourne hace el trabajo sucio.
La ventaja de este método es que puede hacer cosas muy complejas después de la
canalización, como:
1> seleccionar * de syscolumns
2> \ go | (CD / Tmp; comprimir -c> sysolumns.Z)
No es que pueda pensar en ninguna razón real para hacer esto ... pero puedes hacerlo si quieres.
Antecedentes Ofertas de empleo
El fondo proporciona un mecanismo mediante el cual puede ejecutar cualquier comando sqsh como fondo
procesar y continuar trabajando mientras se ejecuta. Sqsh ofrece dos tipos de fondo:
Diferido
En este modo, sqsh redirige toda la salida del trabajo en segundo plano a un archivo temporal
(ubicado en el directorio $ tmp_dir) mientras se ejecuta el trabajo, de modo que la salida sea
no mezclado con lo que está trabajando actualmente. Cuando el trabajo se completa, estás
notificado de la finalización del proceso y la salida se puede ver utilizando el \espectáculo
mando.
No diferido
Esto corresponde a la idea común de un proceso en segundo plano en UNIX. En este modo
el resultado del trabajo no se redirige implícitamente para usted y, por lo tanto, puede convertirse
entremezclado con lo que está trabajando actualmente. La selección de modo que elija es
seleccionable a través de la variable $ defer_bg (que por defecto es '1' o 'On'). Normalmente el
única razón para no usar diferido El modo es para evitar que se llenen grandes conjuntos de resultados.
su sistema de archivos.
Para especificar que un trabajo se ejecute en segundo plano, simplemente agregue un & al final del
línea de comando, como:
1> sp_long_arduous_proc 1, 30
2> \ go &
Trabajo n. ° 1 en ejecución [xxxx]
1>
Cuando sqsh encuentra el & al final de la línea de comando, genera un proceso hijo (con
un ID de proceso Unix de xxxx) entonces el proceso hijo llama al \Vamos. \Vamos comando entonces
establece una nueva conexión a la base de datos (usando los valores actuales de $ DSQUERY,
$ nombre de usuario, $ contraseña variables) y ejecuta la consulta mostrada. Mientras se ejecuta el trabajo
los comandos \trabajos \Espere y \matar puede usarse para monitorear o alterar un trabajo actualmente en ejecución
(mira la sección COMANDOS, debajo). Cuando se completa cualquier trabajo, sqsh mostrará una notificación,
como:
1> seleccionar recuento (*) de
Trabajo n. ° 1 completo (salida pendiente)
2>
Cuando se completa un trabajo, si no tuvo salida, se considera inmediatamente terminado y
no aparecerá en la lista actual de trabajos en ejecución. Sin embargo, si el trabajo completo tiene
salida pendiente, seguirá mostrándose como un trabajo en ejecución (con el \trabajos mando)
hasta un \espectáculo se utiliza para mostrar el resultado del trabajo.
Hay un error conocido con el trabajo en segundo plano cuando se usa junto con tuberías, por favor
referirse a LOCO sección al final del manual.
Amortiguadores
En normal isql solo se mantienen dos búferes; el búfer en el que se encuentra actualmente
escribiendo, y un búfer que contiene el último lote ejecutado (esto se mantiene para cuando
ejecuta 'vi' o 'editar').
Sqsh mantiene varios conjuntos distintos de búferes:
Trabaja Buffer: Este búfer corresponde directamente al isql búfer de trabajo. Es el tampón
en el que ingresa el lote actual antes de enviarlo a la base de datos.
Historia Buffer: Esta es en realidad una cadena de 0 o más búferes (configurable por el
$ histsize variable) de los últimos lotes $ histsize que se han ejecutado. Este búfer es solo
mantenido cuando sqsh se ejecuta en modo interactivo; es decir, lotes ejecutados utilizando el -i
bandera, o ejecutado a través de la redirección desde el indicador de UNIX no se mantendrá en el historial
(después de todo, ya están en un archivo en alguna parte).
Si la variable $ histsave es verdadera (consulte la sección SPECIAL VARIABLES), y sqsh está en
modo interactivo, entonces el búfer del historial actual se escribe en $ HOME / .sqsh_history cuando
usted sale. Este archivo luego se vuelve a leer en sqsh la próxima vez que se inicie en interactivo
modo.
Llamado Amortiguadores: En cualquier momento durante una sesión, el Trabaja Buffer, o cualquiera de los Historia Amortiguadores
se puede copiar en un búfer con nombre utilizando el \ buf-copy comando (ver sección COMANDOS,
debajo). Estos búferes se pierden cuando sale (sin embargo, puede usar el \ buf-save orden a
guardar búferes con nombre en un archivo).
Buffer Taquigrafía
Muchos comandos permiten hacer referencia a todos estos búferes de forma abreviada, muy
similar a la forma en que csh(1) hace referencia a su historial de comandos. Cualquiera de estas abreviaturas
se puede utilizar para cualquier buffer parámetro descrito en el COMANDOS sección:
!. El búfer de trabajo actual.
!! El último comando ejecutado (nota, esto no está disponible en modo no interactivo ya que
no mantiene un historial).
! + La próxima entrada de historial disponible. Este es un búfer de solo escritura, por lo que normalmente solo
se aplica a comandos como \ buf-copy.
! n Se refiere al historial #n. Cada vez que se escribe una entrada en el historial, se le asigna un
número creciente desde la última entrada, con esta abreviatura puede hacer referencia a cualquier
historia dada.
! buf_name
Solo por coherencia, esto se proporciona como una referencia al búfer con nombre buf_nombre, Sin embargo
buf_nombre sin el líder '!' también se considera correcto.
buf_nombre
Se refiere al búfer nombrado buf_nombre.
Variables
Las variables también pueden estar contenidas en búferes de trabajo. En estas circunstancias, el
Las variables permanecen sin expandirse hasta que el búfer se envía a la base de datos (a través del \Vamos
comando), durante el cual se expanden y reemplazan dentro del búfer. Esta
el comportamiento puede modificarse mediante la variable $ expand. (ver Especial Variablesa continuación).
El siguiente es un ejemplo del uso de variables dentro de un búfer:
1> \ set table_name = syscolumns
1> seleccione recuento (*) de $ table_name
2> \ ir
Este es el equivalente a realizar la consulta:
1> seleccionar recuento (*) de syscolumns
2> \ ir
directamente. Normalmente, esta función es útil para reutilizar grandes donde cláusulas, o
nombres de columna largos.
Las reglas de cotización se aplican de la misma manera en los búferes SQL que en las líneas de comando. Es decir, cualquiera
las variables contenidas entre comillas dobles (") se expanden y las variables contenidas dentro
las comillas simples (') no se modifican. Por lo tanto:
1> seleccione "$ nombre de usuario", '$ nombre de usuario'
2> \ ir
produce los resultados
---- ---------
gris $ nombre de usuario
Comando Sustitución
Al igual que con la línea de comandos, la salida de los comandos de UNIX también se puede sustituir dentro de un SQL.
búfer tras la ejecución (una vez más, solo si la variable $ expand se establece en 1, o verdadera). En
En esta circunstancia, el comando contenido entre comillas inversas (`) se reemplaza con su salida
antes de reenviar el búfer al servidor SQL. Por ejemplo:
1> seleccione el recuento (*) de `echo syscolumns`
2> \ ir
Hace que las cadenas 'echo syscolumns' sean reemplazadas por la palabra syscolumns antes de
ejecutando el comando. Cabe señalar que el contenido del comando sustituido es
solo ejecutado en el momento de la \Vamos comando, no cuando se ingresa la línea de SQL.
Flujo de control
Nuevo con la versión 2.0 de sqsh, es la capacidad de realizar un control de flujo básico y
funciones utilizando el \si, \mientras, \hacery \ func comandos.
Bloques & SQL Amortiguadores
Todos los comandos de flujo de control de sqsh están basados en bloques. Es decir, si la expresión de prueba del
se cumple el comando, luego se ejecutará un bloque de script sqsh. Por ejemplo, la definición
de las \si comando es:
\ if expresión
bloquear
\ fi
Este bloquear puede ser cualquier número de líneas de comandos sqsh, SQL o declaraciones de flujo de control
para ser ejecutado si el expresión evalúa una condición de éxito (0).
Cada bloquear tiene su propio búfer SQL durante el tiempo que el bloquear es ejecutado. Es decir,
las siguientes declaraciones:
1> / *
2> ** USO INADECUADO DEL BLOQUE IF
3> * /
4> seleccionar recuento (*) de
5> \ if [$ x -gt 10]
6> sysobjects
7> \ else
8> índices del sistema
9> \ fi
5> ir
rendirá:
Msj 102, nivel 15, estado 1
Servidor 'bps_pro', Línea 1
Sintaxis incorrecta cerca de 'desde'
porque la cadena 'sysobjects' o 'sysindexes' se insertaron en sus propios búferes SQL.
Estos búferes se descartan tan pronto como se alcanza el final del bloque, y dado que un \Vamos
El comando no estaba contenido dentro del bloque, no se generaron errores adicionales.
Por tanto, la forma correcta de escribir la expresión anterior sería:
1> / *
2> ** USO CORRECTO DEL BLOQUE IF
3> * /
4> \ if [$ x -gt 10]
5> seleccione recuento (*) de sysobjects
6> ir
7> \ else
8> seleccione recuento (*) de sysindexes
9> ir
10> \ fi
o incluso:
1> / *
2> ** USO CORRECTO DEL BLOQUE IF
3> * /
4> \ if [$ x -gt 10]
5> \ set table_name = sysobjects
6> \ else
7> \ set table_name = sysindexes
8> \ fi
4> seleccione * de $ table_name
5> ir
Además, tenga en cuenta que el número de línea que se muestra en el indicador sqsh se restablece al actual
posición en el búfer SQL externo después de alcanzar la \ fi terminador.
Expresiones
Todas las declaraciones de flujo de control en sqsh toman un expresión para determinar cual bloquear de código
ejecutar. Al igual que Bourne Shell de UNIX, este expresión es simplemente un sistema operativo
programa que es ejecutado por sqsh. Si el comando devuelve un estado de éxito (llama salida(0)),
entonces se considera exitoso.
Por ejemplo, con la siguiente declaración:
\ while prueba $ x -lt 10
bloquear
\hecho
ejecutará el contenido de bloquear mientras que el valor actual de $ x es menor que 10. Nota
que 'prueba' es un programa UNIX estándar para realizar comparaciones numéricas o de cadenas básicas
(entre otras cosas). Además, a diferencia de muchos shells, sqsh no tiene una versión incorporada de 'prueba'.
Sin embargo, Sqsh admite la forma corta estándar de 'prueba':
\ while [$ x -lt 10]
bloquear
\hecho
Con esta expresión, la llave abierta ('[') se reemplaza por el analizador sqsh con 'prueba', y
la llave de cierre (']') se descarta.
No compatible Expresiones
Actualmente, sqsh no admite los operadores de predicado de shell estándar '&&' y '||'.
Estos se pueden realizar así:
\ if sh -c "cmd1 && cmd2"
bloquear
\hecho
\ if declaración
El \si comando realiza la ejecución condicional de un sqsh bloquear basado en el resultado de un
expresión suministrada:
\ if expr1
block1
\ elif expr2
block2
\demás
block3
\ fi
En este ejemplo, si expresión Expr1 se evalúa como verdadero, entonces el bloque block1 is
evaluado. De lo contrario, si la expresión Expr2 evalúa a verdadero, luego bloquea block2 is
evaluado. Finalmente, si todas las demás pruebas fallan block3 se evalúa.
Tenga en cuenta que, a diferencia de Bourne Shell, cada \si El comando debe ir acompañado de un \ fi
declaración. Además, el analizador de sqsh no es terriblemente inteligente: \demás y \ fi declaraciones
deben ser los únicos contenidos en la línea en la que aparecen, y no pueden tener alias
otro nombre.
\ while declaración
El \mientras comando ejecuta un bloquear de código sqsh por el momento una expresión proporcionada
sigue siendo verdad
\ while expr
bloquear
\hecho
En este ejemplo, mientras que la expresión expr se evalúa como verdadero, entonces el bloque bloquear is
evaluado.
El \descanso La declaración se puede utilizar para salir de lo más interno \mientras or \por bucle (más
on \por abajo).
\ para declaración
El \por comando ejecuta un bloquear de código sqsh para cada palabra clave suministrado:
\ para var en palabra ...
bloquear
\hecho
Para cada uno palabra clave suministrado, el valor de la variable $ var se establece en la palabra y el bloquear of
se ejecuta el código. La ejecución finaliza cuando no hay más palabras en la lista.
Al igual que con \mientras los \descanso La declaración puede usarse para salir de la ejecución más interna
lazo.
\ do comando
El \hacer comando es una especie de cruce entre una declaración y un comando.
Es una forma de \Vamos (consulte a continuación para obtener detalles sobre el \Vamos comando) en el que un bloquear de sqsh
se puede ejecutar código para cada fila de datos devueltos por la consulta. Cuando el bloquear is
ejecutadas, las variables especiales de sqsh # [0-9] + (un hash seguido de un número) se pueden utilizar para
hacer referencia a los valores en la consulta devuelta. Por ejemplo, el siguiente comando:
seleccione id, nombre de master..sysdatabases
\hacer
\ echo "Base de datos de puntos de control n. ° 2, dbid n. ° 1"
usar 2
go
control
go
\hecho
haría que se emitiera un comando CHECKPOINT en cada base de datos del servidor.
Opciones de línea de comando
El \hacer El comando establece una nueva conexión para ser utilizada por el bloquear de código cuando
ejecutado. De forma predeterminada, esta conexión se establece con el servidor actual (el actual
ajuste de $ DSQUERY), utilizando el nombre de usuario actual ($ nombre de usuario) y la contraseña actual
($ contraseña). Sin embargo, este comportamiento puede anularse mediante las opciones de la línea de comandos:
-D base de datos
Establece la conexión a la base de datos como la suministrada. base de datos.
-U nombre de usuario
Establece la conexión con el servidor como se proporciona nombre de usuario.
-P contraseña
Establece la conexión con el servidor utilizando el la contraseña (cual es
con suerte, una contraseña válida para el suministrado nombre de usuario).
-S servidor
Establece la conexión con el suministrado servidor.
-n No cree una conexión para que la utilice el \hacer círculo. Esta bandera es mutuamente excluyente
con las banderas anteriores. Con esta bandera habilitada, intenta ejecutar comandos de base de datos
en la pestaña bloquear generará una serie de errores de CT-Library.
Variables de columna
Como se mencionó anteriormente, los valores de las columnas en el conjunto de resultados actual se pueden determinar
usando las variables especiales # [0-9] +. Por tanto, la variable # 1 contendría el valor de
la columna número uno del conjunto de resultados actual, y la # 122 podría contener el valor de la
122ª columna (los números de las columnas comienzan en 1).
En el caso de anidado \hacer bucles, los valores en los niveles de anidación anteriores pueden ser referidos por
simplemente agregando una adición '#' para cada nivel de anidación anterior, así:
seleccione id, nombre de sysobjects
\hacer
seleccione el nombre, indid de sysindexes donde id = # 1
\hacer
\ echo "La tabla ## 2 (objid ## 1) tiene el índice # 1"
\hecho
\hecho
obviamente, esta no es la forma en que harías esta consulta en la vida real, pero entiendes la idea.
Al expandir columnas con valores NULL, la variable de columna se expandirá a un vacío
cuerda (''). Además, las referencias a columnas inexistentes, como # 0, darán como resultado un
cuerda ('').
Al igual que con las variables sqsh regulares (aquellas a las que se hace referencia con un '$'), las variables de columna no se
expandido cuando se incluye entre comillas simples.
abortando
Si \descanso or \regreso Los comandos se emiten durante el procesamiento de un \hacer bucle, el
La consulta actual se cancelará, la conexión utilizada por el bucle se cerrará (a menos que el
-n se suministró la bandera) y el \hacer El bucle abortará.
comando \ func
El \ func El comando se usa para definir un bloque reutilizable de código sqsh como función. Funciones
se definen así:
\ func stats
\ if [$ # -ne 1]
\ echo "use: stats [on | off]"
\ return 1
\ fi
establecer estadísticas io $ {1}
establecer estadísticas de tiempo $ {1}
go
\hecho
En este ejemplo se establece una nueva función llamada estadísticas que espera un solo argumento,
ya sea "encendido" o "apagado". Usando este argumento, estadísticas habilitará o deshabilitará el tiempo y
Estadísticas basadas en E / S.
Una vez establecida, la función puede llamarse así:
\ llame a estadísticas en
Causando que todas las instancias de $ {1} sean reemplazadas con el primer argumento de línea de comando para
estadísticas.
Opciones de línea de comando
Actualmente, solo hay un argumento de línea de comando disponible para \ func mando.
-x Hace que la función se exporte como sqsh mando. Es decir, la función puede ser
invocado directamente sin requerir el \llamar mando. Este comportamiento es opcional
porque los nombres de los comandos pueden potencialmente entrar en conflicto con las palabras clave de T-SQL. Al usar esto
flag Se recomienda que anteponga una barra invertida (\) al nombre de su función.
Variables de función
Como se muestra en el ejemplo anterior, varias variables especiales están disponibles para su uso dentro del
cuerpo de la función. Estos son:
$ # Se expande al número de argumentos proporcionados a la función o script cuando se invoca.
$ * Se expande a la lista completa de argumentos proporcionados a la función o script cuando
invocado.
$ {0} .. $ {N}
Se expande a argumentos posicionales de la función. $ {0} es el nombre de la función
siendo invocado, $ {1} es el primer argumento, $ {2} el segundo y así sucesivamente, hasta el argumento
N. Tenga en cuenta que, a diferencia de la mayoría de los shells, sqsh requiere que se haga referencia a los argumentos de la función
utilizando la sintaxis especial de llaves ($ {1}, en lugar de $ 1). La razón de esto es
que $ 1 es un valor DINERO válido y el uso de llaves elimina esta ambigüedad.
PS Después de la invocación de una función, esta contendrá su valor de retorno (ver más abajo).
Valor de retorno
Se puede devolver un valor de una función a través del \regreso mando.
Al igual que:
\ return N
Dónde N es un valor positivo. Este valor de retorno está disponible para quien llama a la función.
mediante el $? variable. Como convención, se usa un valor de retorno de 0 para indicar un éxito.
If \regreso no se llama explícitamente, el valor de retorno predeterminado es el valor actual de la
$? variable (que se establece en 0 al ingresar la función). Por tanto, si alguna sentencia SQL
se invocan dentro de la función, el valor de retorno predeterminado de $? será el último error
código devuelto durante el procesamiento de la instrucción SQL.
Kerberos Soporte
A partir de la versión 2.1.6, sqsh proporciona las mismas opciones de línea de comando que isql manejar
Autenticación de red Kerberos.
En la versión 2.1.5 se agregó soporte experimental de Kerberos usando las opciones -K y -R. -K
era simplemente un interruptor para activar Kerberos. En sqsh 2.1.6, una implementación más avanzada de
Se introduce la autenticación de red, aunque todavía es experimental.
Mediante el uso de los parámetros -K, -R, -V, -Z puede hacer uso de su seguridad de red definida
configuración (libtcl.cfg). Las opciones nombradas son idénticas a las definidas para isql.
-K archivo_tab_claves
Nombre de keytab_file para DCE.
-R servidor_principal
Nombre principal del servidor cuando el nombre del servidor especificado en las interfaces difiere del real
nombre del servidor.
-V [bcdimoqru]
Especifique las opciones de seguridad para usar con el mecanismo de seguridad. Cada personaje representa
un servicio de seguridad específico.
-Z [secmech | predeterminado | ninguno]
Solicite un mecanismo de seguridad definido para Kerberos, DCE o PAM en su archivo libtcl.cfg.
Usa secmech para especificar el nombre de una entrada de SEGURIDAD o tu préstamo estudiantil por el primero disponible
entrada en libtcl.cfg. Ninguna debe especificarse para deshabilitar la autenticación de red o restablecer
posibles valores existentes en variables $ secmech or $ seguras_opciones.
Por ejemplo, conectarse a un servidor mediante Kerberos (que es el predeterminado, es decir,
primera entrada en la pestaña libtcl.cfg [SEGURIDAD] en este ejemplo):
~> sqsh -SSYB1502 -Uuser1 -RFC6A1502 -Z
\ connect: La sesión autenticada de red expira en:
16 de febrero de 2010 a las 15:28:39 (11764 segundos)
SYB1502.user1.master.1> seleccione @@ servername, @@ authmech,
show_sec_services ();
---------------- ----------- ----------------------- -----------
FC6A1502 Kerberos unificado de delegación de inicio de sesión mutualauth
integridad confidencialidad
detectar reproducir detectarseq
Tenga en cuenta que el nombre real del servidor (@@ servername) difiere del nombre del servidor en el
interfaces, por lo que tenemos que especificar el nombre principal a través de la -R parámetro. Cuándo
no especificas el -V parámetro junto con -Z, todas las opciones de seguridad disponibles
estar habilitado. Cuándo -V se especifica sin ninguna opción de servicio de seguridad, única opción u for
La autenticación de red se establecerá implícitamente y el mecanismo de seguridad predeterminado será
usado si -Z no se especifica
[usuario1 @ linux-fc6a ~] $ sqsh -SFC6A1502 -Uuser1 -V
Mensaje de cliente abierto
Capa 7, Origen 9, Severidad 5, Número 1
ct_connect (): capa de servicio de seguridad: control de seguridad interno
error de capa:
Error interno del proveedor de servicios de seguridad -1765328352
ocurrido.
[usuario1 @ linux-fc6a ~] $ kinit
Contraseña para usuario1 @ LOCALDOMAIN:
[usuario1 @ linux-fc6a ~] $ sqsh -SFC6A1502 -Uuser1 -V
\ connect: La sesión autenticada de red expira en:
16 de febrero de 2010 a las 15:28:39 (10964 segundos)
FC6A1502.user1.master.1>
Cuando la conexión se realiza correctamente, sqsh almacenará el nombre real del mecanismo de seguridad en
La variable $ secmech. Por ejemplo: "\ echo $ secmech" puede mostrar csfkrb5. El parámetro -V
toma una lista de caracteres de los posibles valores de bcdimoqru. La opción u permite
Autenticación de red, es el valor predeterminado y siempre se establecerá cuando se utilice -V or -Z,
especificado o no.
b - chanbinding: enlace de canal
c - confidencialidad: servicio de confidencialidad de datos
d - delegación: Permitir credenciales delegadas
i - Integrity: servicio de integridad de datos
m - mutualauth: autenticación mutua para la conexión
establecimiento
o - dataorigin: Servicio de sellado de origen de datos
q - detectseq: detección fuera de secuencia
r - detectreplay: detección de reproducción de datos
u - unifiedlogin: Autenticación de red
Consulte master.dbo.syssecmechs para conocer los servicios disponibles. No existente o no admitido
servicios prestados con -V son ignorados en silencio. Si especifica -V y/o -Z, sqsh asume
Se intentó la autenticación de red y no se requiere contraseña.
Si tiene una conexión de red autenticada y desea \ reconectarse usando ASE normal
autenticación con nombre de usuario y contraseña, debe restablecer la autenticación de red
variables especificando -Znone
Por ejemplo:
[usuario1 @ linux-fc6a ~] $ sqsh -SFC6A1502 -Uuser1 -V
\ connect: La sesión autenticada de red expira en:
16 de febrero de 2010 a las 15:28:39 (10764 segundos)
FC6A1502.user1.master.1> \ echo $ secmech csfkrb5
FC6A1502.user1.master.1> \ reconectar -SASE1502 -Usa -Psybase
Mensaje de cliente abierto
Capa 7, Origen 9, Severidad 5, Número 8
ct_connect (): capa de servicio de seguridad: control de seguridad interno
error de capa:
Las comprobaciones de coherencia realizadas en la credencial fallaron
(estado menor 0).
FC6A1502.user1.master.1> \ reconnect -SASE1502 -Usa -Psybase -Znone
ASE1502.sa.master.1>
La primera \ reconexión falla porque sqsh todavía quiere probar la autenticación de red.
Sin embargo, no existe un principal de usuario para 'sa' y no se establece ningún ticket y, por lo tanto, la conexión
falla. El segundo \ reconectar tiene éxito cuando la opción -Znone restablece las variables apropiadas.
Si el ticket de Kerberos se renueva con kinito o cualquier otra herramienta cliente, el sqsh Sesión
debe realizar un \ reconectar para actualizar las credenciales y evitar una sesión prematura
abortar. Con el comando \ snace puede solicitar el intervalo de caducidad de la sesión.
Dependiendo de los servicios de seguridad que estén configurados, la conexión a la base de datos puede estar cerrada.
sin previo aviso tan pronto como expire el boleto.
Consulte el capítulo 16 "Autenticación externa" de la Guía de administración del sistema Sybase.
volumen 1 para obtener más información sobre la autenticación de red Kerberosi, ea
COMANDOS
Leer-Evaluar-Imprimir
El bucle read-eval-print es el corazón del sistema sqsh y es responsable de solicitar
un usuario para la entrada y determinar qué se debe hacer con él. Normalmente, este bucle es para
Solo para uso interno, sin embargo, están abiertos al usuario porque hay algunos elementos creativos.
cosas que se pueden hacer con ellos.
\ loop [-i] [-n] [-e sql] [archivo]
El \círculo El comando lee la entrada ya sea de un archivo, una declaración SQL proporcionada o de un
usuario (ver las opciones a continuación), determinando si la línea actual es una parte de un
Instrucción TSQL o un comando sqsh y realizar la acción adecuada. Cuando se ejecuta en
un modo interactivo \círculo también es responsable de mostrar el mensaje actual (ver
$ aviso abajo).
\círculo se completa cuando toda la entrada se ha agotado (se encuentra el final del archivo) o cuando
un comando, como \Salida solicita que \círculo salida.
-i Normalmente, si presentar se suministra y no existe, \círculo volverá con un error
condición, que normalmente provoca la salida de sqsh. Suministrando el -i bandera, el control será
devuelto al bucle de llamada como si se hubiera alcanzado el final del archivo (es decir, sin
condición de error).
-n Por defecto, \círculo intentará conectarse automáticamente a la base de datos si un
la conexión aún no se ha establecido a través del \conectar mando. los -n bandera
deshabilita este comportamiento permitiendo \círculo para procesar comandos que no requieren
soporte de base de datos.
-e sql
Causas \círculo para procesar el contenido de sql como si el usuario lo hubiera escrito en el
pronto y una llamada implícita a \Vamos se adjunta automáticamente a la declaración. Si
múltiples instancias de -e se suministran, todos se envían como un solo lote al
SQL Server para su procesamiento. Esta opción no se puede utilizar en combinación con un presentar
nombre también.
presentar
Especifica el nombre de un presentar para ser utilizado como entrada en lugar de leer la entrada de
el usuario o desde el -e bandera.
Database Acceso
Dado el tamaño y la complejidad de sqsh (solo mire la longitud de esta página de manual), es
Es sorprendente la poca cantidad de comandos de manipulación de bases de datos que existen. Los siguientes son
comandos que afectan o utilizan la conexión actual a la base de datos:
\ connect [-c] [-D db] [-S srv] [-U usuario] [-P contraseña] [-I ifile] [-K keytab] [-R
server_principal] [-n] [-N nombre de la aplicación] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]]
[-Z [secmech | predeterminado | ninguno]]
Este comando se utiliza principalmente para uso interno para establecer una conexión a un
base de datos. Si una conexión ya está establecida, no tiene ningún efecto, sin embargo, si
no se ha establecido la conexión y $ contraseña no se ha suministrado, entonces el
se solicita la contraseña y se establece una conexión. \conectar acepta lo siguiente
parámetros:
-c Por defecto, el \conectar comando usa el contenido de $ Base de datos para determinar el
contexto de la base de datos que se debe utilizar al establecer la conexión (esto es
utilizado por \ reconectar para preservar el contexto actual de la base de datos tras la reconexión).
El -c flag suprime este comportamiento y el contexto de inicio de sesión predeterminado de la base de datos es
utilizado en su lugar.
-D base de datos
Causas \conectar para intentar cambiar automáticamente el contexto de la base de datos a db
después de establecer la conexión.
Usar esta bandera es idéntico a configurar el $ Base de datos variable antes de
estableciendo la conexión.
-S servicio
El nombre de Sybase servidor para conectarse, este valor predeterminado es $ DSQUERY si no
suministrado.
-U usuario
El Sybase usuario para conectarse a la base de datos como, esto por defecto es $ nombre de usuario variable
si no se suministra.
-P pase
El la contraseña for usuario requerido para conectarse a servidor. Esto por defecto es $ contraseña if
no incluido.
-yo me archivo
La ruta completa de un Sybase alternativo las interfaces archivo a utilizar.
-K archivo_tab_claves
Se utiliza para la autenticación de usuarios DCE.
-R nombre_principal
Utilice para la autenticación de usuario Kerberos para especificar el nombre del principal del servidor
cuando el nombre difiere del $ DSQUERY .
Consulte también la discusión sobre el soporte de Kerberos.
-n Especifica que la conexión debe utilizar el modo encadenado compatible con ANSI.
-N nombre de aplicación
Especifique el nombre de la aplicación que el servidor utilizará para nombre_programa en el
tabla sysprocesses.
-Q consulta_tiempo de espera
Establezca un período de tiempo de espera de la consulta en segundos.
-T tiempo de espera de inicio de sesión
Especifica un tiempo de espera máximo para la configuración de la sesión.
-V [bcdimoqru]
Servicios de seguridad utilizados para el soporte de Kerberos y otros mecanismos de seguridad.
-Z [secmech | predeterminado | ninguno]
Especifica el mecanismo de seguridad que se utilizará para la autenticación de usuarios. Por ejemplo
csfkrb5 para compatibilidad con Kerberos.
\ reconectar [-c] [-D db] [-S srv] [-U usuario] [-P contraseña] [-I ifile] [-K keytab] [-R
server_principal] [-n] [-N nombre de la aplicación] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]]
[-Z [secmech | predeterminado | noe]]
El \ reconectar El comando puede usarse para forzar una reconexión a la base de datos usando un nuevo
nombre de usuario, nombre del servidor o contraseña (si lo desea). Si este comando falla, la corriente
La conexión permanece (si hay alguna), sin embargo, si tiene éxito, entonces la
la conexión se cierra y la nueva conexión se convierte en la única activa.
Todos los argumentos aceptados por \conectar también son aceptadas por \ reconectar (De hecho
\ reconectar usos \conectar para establecer la nueva conexión).
\ snace
Mostrará el intervalo de expiración de la sesión para una sesión autenticada en red, usando
Tickets de Kerberos, por ejemplo.
\ go [opciones] [xacts]
Envía el contenido del Trabaja Buffer a la base de datos, estableciendo una nueva conexión
a la base de datos si aún no existe (llamando al \conectar sobre). Ellos
muestra los resultados de la consulta de nuevo a stdout y regresa, lo que hace que Trabaja Buffer
para ser despejado y trasladado al final de la Historia Buffer.
Si Trabaja Buffer está vacío y el $ repeat_batch la variable está configurada en "Activado", \Vamos will
Intente volver a ejecutar el último comando ejecutado (esto solo funcionará en modo interactivo
si el soporte de historial está habilitado).
\Vamos acepta los siguientes argumentos:
-d pantalla
Si la compatibilidad con X11 está compilada en sqsh y se está utilizando el modo de visualización X (consulte -x,
abajo), entonces la visualización se utilizará como el área de visualización X para el conjunto de resultados. Por
por defecto la variable de entorno $ PANTALLA se supone.
-f Desactiva la visualización del mensaje de pie de página "(% d filas afectadas)". Mensajes de pie de página
también se puede apagar a través del $ pies de página variable.
-h Desactiva todos los encabezados de columna. Estos también pueden desactivarse a través del $ encabezados
variable.
-m estilo
Cambia temporalmente el estilo de visualización a style durante la duración del comando.
Los estilos admitidos actualmente son horizonte (o hor or horizontal), verde (o vertical),
BCP, csv, html, meta, bastante y ninguna. El estilo de visualización se puede configurar de forma permanente
mediante el $ estilo variable o la -m bandera de línea de comando.
-n Desactiva la expansión variable en el Trabaja Buffer antes de enviarlo al servidor,
esto también puede desactivarse a través del $ expandir variable.
-p Activa la salida de estadísticas de rendimiento cuando el conjunto de resultados ha sido
devuelto con éxito desde el servidor. Esto también se puede activar a través del -p
argumento de línea de comando a sqsh, o el $ estadísticas variable.
-s seg
Si el valor de xactos es mayor que 1, esto hace que sqsh duerma durante AMF segundos
antes de ejecutar la siguiente transacción. Tenga en cuenta que el tiempo dedicado a dormir es
excluido de la información estadística que se muestra con el -p bandera.
-t [filtro]
Filtra el lote de comandos a través de un programa externo, filtrar, y antes de ser
enviado al servidor SQL. Si filtrar no se suministra, entonces $ filter_prog se utiliza
(el valor predeterminado es 'm4 -'). Este valor también se puede configurar a través del $ filtro y $ filter_prog
variables.
-w ancho
Anula el valor de $ ancho durante la vida de la consulta (ver $ ancho abajo).
-x [geomx]
Activa el filtro de pantalla X11 (solo si la compatibilidad con X11 está compilada en sqsh), que
hace que el conjunto de resultados se envíe a una ventana separada. Si xgeom se suministra, entonces
este valor se utilizará como $ xgeom durante la vida de la consulta (ver $ xgeom abajo).
-T xwin_título
Especifique el nombre del título de la ventana de resultados X para crear. Esto temporalmente
anular el valor de $ xwin_title. Solo es útil especificar -T junto con
-x.
xactos
Especifica el número de veces que el contenido del Trabaja Buffer debe ser ejecutado
Tenga en cuenta que, de forma similar a isql, un conjunto de resultados solo se mostrará durante la
ejecución del lote. Además, el contenido de la Trabaja Buffer solo se expanden
una vez, antes de la primera ejecución, por lo que el contenido del búfer no cambiará
entre ejecuciones posteriores.
Tabla \ bcp [bcp_options]
El \ bcp Los comandos actúan como una especie de mejora \Vamos comando que redirige el resultado
conjunto (s) del lote a otro servidor a través del protocolo bcp. Si bien es posible
\ bcp el resultado se remonta al servidor actual (el $ DSQUERY variable), esto es
logra más fácilmente a través de un SELECT INTO.
Los detalles esenciales de \ bcp vaya así: Primero se expande el lote SQL actual
(a menos que el $ expandir variable se establece en 0) y se envía a la base de datos para
Procesando. Si todo va bien, se establece una nueva conexión con el destino.
base de datos (como se especifica a través de $ DSQUERY o el -S flag) para transferir el conjunto de resultados usando
bcp. Luego, la salida de la conexión de la base de datos de origen está vinculada al nuevo bcp
Se realiza la conexión y la transferencia de datos. \ bcp puede manejar múltiples conjuntos de resultados
sin ningún problema (incluidos los conjuntos de resultados devueltos de los procedimientos almacenados, etc.)
siempre que todos los conjuntos de resultados sean válidos para la tabla de destino.
El equivalente de una "salida bcp" se puede realizar utilizando el BCP configuración de estilo de visualización y
redirección de archivos (consulte la $ estilo variable).
-Un paquete
Especifica el tamaño del paquete TDS utilizado para comunicarse con el servidor de destino. Si
no suministrado, este valor predeterminado es el $ tamaño_paquete variable, o (si eso es
no establecido), el tamaño del paquete del servidor predeterminado (generalmente 512 bytes).
-b tamaño_lote
El número de registros transferidos en una sola transacción entre servidores. Nota
que llegar al final de un resultado hace que se transfiera el lote, independientemente
del valor de tamaño del lote. El valor predeterminado es el conjunto de resultados completo.
-yo me archivo
La ruta completa de un Sybase alternativo las interfaces archivo a utilizar.
-J juego de caracteres
Especifica el valor predeterminado charset se utiliza para comunicarse con el servidor SQL. Esta
predeterminado al juego de caracteres actual (el valor del $ juego de caracteres variable).
-m maxerr
El número máximo de lotes que pueden fallar antes \ bcp abandona el fantasma
(el valor predeterminado es 10). Tenga en cuenta que esto solo se refiere a fallas dentro de un lote determinado.
Al realizar un bcp de múltiples conjuntos de resultados a un servidor, si un conjunto de resultados dado
tiene, digamos, demasiadas columnas o tipos de datos incorrectos, entonces todo el proceso bcp es
abortado independientemente del valor de Max Err.
-N Indica que el valor de una columna de identidad en la tabla de destino está siendo
proporcionado dentro del conjunto de resultados.
-P contraseña
El la contraseña for usuario requerido para conectarse a servidor. Esto por defecto es $ contraseña if
no incluido.
-S servidor
El nombre de Sybase servidor para conectarse, este valor predeterminado es $ DSQUERY si no
suministrado.
-U usuario
El Sybase usuario para conectarse a la base de datos como, esto por defecto es $ nombre de usuario variable
si no se suministra.
-X Hace que la negociación de la contraseña con el servidor de destino se realice mediante
cifrado del lado del cliente.
-z idioma
Especifica la configuración de idioma a utilizar.
mesa
Al igual que con los regulares BCP, mesa puede ser un nombre de tabla total o parcialmente especificado
en el servidor de destino. Tenga en cuenta que dado que una nueva conexión de base de datos es
establecido durante los procesos bcp que el contexto de la base de datos de la conexión
puede no ser el mismo que el contexto actual, por lo que generalmente es más seguro
especifique el nombre de la tabla en el formato base de datos.propietario.tabla.
\rpc [rpc_opt] rpc_name [[parm_opt] [@var=]valor ...]
El \rpc El comando se utiliza para invocar directamente una llamada de procedimiento almacenado en el conectado
servidor. Este comando es particularmente útil para comunicarse con un servidor abierto que
no admite directamente llamadas de idiomas.
\rpc invoca el procedimiento remoto nombre_rpc con uno o más parámetros que pueden ser
nombrado (usando @var) o anónimo (al no proporcionar un nombre). Desafortunadamente, debido a la
hecho de que la implementación de Sybase de RPC no admite directamente la mayoría de los implícitos
conversiones de tipo de datos (principalmente entre VARCHAR (la cadena que proporciona en el comando
línea) y la mayoría de los otros tipos de datos (que el procedimiento remoto está esperando), el
sintaxis para el \rpc El comando es algo complejo. Sin embargo, en resumen, así es como las cosas
trabajo:
A este tenor, \rpc se está analizando la línea de comando, sqsh intenta adivinar el tipo de datos del
parámetro propuesta de basado en el formato (por ejemplo, si contiene solo dígitos, es
se supone que es un número entero), sqsh luego realiza una conversión de tipo de datos explícita antes
para llamar a la llamada de procedimiento remoto. Si sqsh adivina mal, varias banderas son
suministrado para forzarlo a realizar la conversión de tipo de datos correcta (ver parm_opt).
Pantalla De Seguros
Las siguientes opciones pueden proporcionarse en cualquier parte de la línea de comando y se usan para afectar
la manera en que los conjuntos de resultados que regresan de la llamada al procedimiento remoto son
desplegado:
-d pantalla
Si el soporte X se compila en sqsh, el valor de la visualización se utiliza como las ventanas X
PANTALLA variable. Tenga en cuenta que esto generalmente se suministra con el -x bandera, abajo.
-f Desactiva la visualización del mensaje de pie de página "(%d filas afectadas)". Los mensajes de pie de página pueden
también puede apagarse a través del $ pies de página variable.
-h Desactiva todos los encabezados de columna. Estos también pueden desactivarse a través del $ encabezados variable.
-m estilo
Cambia temporalmente el estilo de visualización a style durante la duración del comando.
Los estilos admitidos actualmente son horizonte (o hor or horizontal), verde (o vertical), BCP,
csv, html, meta, bastante y ninguna. El estilo de visualización se puede establecer de forma permanente a través de la
$ estilo variable o la -m bandera de línea de comando.
-r Solicitud para volver a compilar el procedimiento antes de la ejecución.
-w ancho
Establece temporalmente el ancho de salida en anchura. El ancho de salida puede establecerse de forma permanente
mediante el $ ancho variable.
-x [geomx]
Envía la salida a una ventana X separada. Si xgeom se suministra, entonces la ventana X utiliza este
geometría (ver $ xgeom para más detalles).
-T xwin_título
Especifique el nombre del título de la ventana de resultados X para crear. Esto temporalmente
anular el valor de $ xwin_title. Solo es útil especificar -T junto con -x.
Parámetro De Seguros
Las siguientes opciones se pueden proporcionar inmediatamente antes de especificar un parámetro propuesta de
y se utilizan para afectar la forma en que sqsh interpreta el contenido de la propuesta de antes de
llamando al procedimiento remoto. A pesar de que sqsh permitirá cualquier combinación de estos parámetros
combinarse, sólo tiene sentido combinar los -x bandera con cualquier otra bandera.
-b Indica que el propuesta de que se especifica debe convertirse a VARBINARY antes
llamar nombre_rpc. Este indicador está implícito (es decir, no necesita proporcionarlo) si propuesta de comienza
con "0x" y contiene solo dígitos.
-c Indica que el propuesta de que se especifica debe convertirse a VARCHAR antes de
llamar nombre_rpc. Esta bandera está implícita si propuesta de no coincide con ninguno de los implícitos
conversiones para los otros tipos de datos.
-d Indica que el propuesta de que se especifica debe convertirse a doble (flotante)
antes de llamar nombre_rpc. Esta bandera está implícita si propuesta de está en punto flotante válido
notación (por ejemplo, 0.1, .1, 1.4e10 o 4e10).
-i Indica que el propuesta de que se especifica debe convertirse a entero (int) antes
llamar nombre_rpc. Esta bandera está implícita si propuesta de contiene sólo dígitos (y,
opcionalmente, un signo principal).
-y Indica que el propuesta de que se especifica debe convertirse en dinero antes de llamar
nombre_rpc. Esta bandera está implícita si propuesta de comienza con un "$" y contiene solo dígitos
y, opcionalmente, un decimal.
-n Indica que el propuesta de que se especifica debe convertirse a numérico antes
llamar nombre_rpc. Esta bandera nunca está implícita, ya que propuesta de siempre coincidiría con int
(-i) o flotar (-d); sin embargo, ambos tipos se convertirán implícitamente en un
numérico según sea necesario por la llamada al procedimiento.
-u indica que propuesta de debe ignorarse y tratarse como un valor NULO. Esta bandera es
implícito si propuesta de es "".
Amortiguadores
Los siguientes comandos se pueden usar para crear, destruir o manipular los diversos búferes
descrito en el Amortiguadores sección, arriba.
\claro
El \claro El comando descartará el búfer actual y en contradicción con el
\Reiniciar comando, no guardará el búfer actual en el historial. Cuando se compila sqsh
con soporte readline, este comando también borrará la pantalla. (como lo hace ^l.) El
alias limpiar se establece automáticamente al iniciarse.
\historia [-i] [-x cuenta]
Muestra el último $tamañohist lotes que han sido enviados a la base de datos a través del
\Vamos comando o borrado del Trabaja Buffer mediante el \Reiniciar mando. Con opción -i
También muestra el número de veces que se usa el búfer y la última vez que se usó el búfer.
usado. Esta información puede ser de especial interés a la hora de utilizar el $histunique .
El -x la opción puede especificar el número de entradas de historial más recientes para mostrar en su lugar
de la lista total de entradas del historial.
\hist-load [nombre de archivo]
Cargue un archivo de historial y agregue elementos a la lista de historial actual. Usar $historia si no
filename se especifica como un parámetro.
\hist-save [nombre de archivo]
Guardará los búferes de historial actuales en el $historia archivo o al nombre del archivo
especificado como parámetro.
\redibujar
Devuelve una solicitud al bucle de lectura-evaluación-impresión actual para que vuelva a mostrar el
corriente Trabaja Buffer. Si se ejecuta desde el modo no interactivo, este comando no tiene efecto.
\Reiniciar
El \Reiniciar El comando corresponde directamente al isql comando 'reset', devolviendo un
solicitud al bucle read-eval-print para borrar el contenido de la actual Trabaja Buffer
y, si está ejecutando en modo interactivo, coloque una copia del búfer en el
Historia Buffer. El alias reajustar se establece automáticamente al iniciarse sqsh for
retrocompatibilidad con isql.
\buf-append dst-buffer [src-buffer]
Adjunta el contenido de buffer-src (predeterminado en !.) al contenido de búfer dst, Si
existe. Si búfer dst no existe se crea.
\buf-copiar dst-buffer [src-buffer]
Copia el contenido de buffer-src (predeterminado en !., el Trabaja Buffer, si no se suministra),
a búfer dst. Referirse a Amortiguadores para obtener información sobre las convenciones de nomenclatura de búfer.
\buf-del [búfer|rango]
Eliminar un búfer de historial de la lista de historial. También puede especificar una lista de rango
que consta del primer y último número de búfer separados por un '-'. Por ejemplo:
"\buf-del 1-10" eliminará las primeras 10 entradas del historial. Otro ejemplo, "\buf-del
21" solo eliminará el búfer número 21. Tenga en cuenta que los búferes de historial se
renumerados consecutivamente.
\buf-editar [-r leer-buf] [-w escribir-buf]
El \buf-editar El comando se utiliza para editar el contenido de un búfer y colocar los cambios.
en otro búfer. Este comando solo se puede ejecutar en modo interactivo. Si leer-
buf no se proporciona, entonces el búfer que se va a editar por defecto es !., si no está vacío,
de lo contrario, el valor predeterminado es !!. Si escribir-buf no se proporciona, entonces el búfer editado es
escrito de nuevo a !..
De forma predeterminada, \buf-editar usa la variable de entorno $ EDITOR primero, seguido de $ VISUAL
para determinar qué editor usar, prefiriendo 'vi' si la variable no está configurada.
Es importante tener en cuenta que a partir de la versión 1.2, \buf-editar ya no es capaz de usar el
nombre de un alias como el nombre del editor a ejecutar. Esto se debe principalmente a
el cambio en el comportamiento de alias (ver sección Aliasing, a continuación, para más detalles).
Los comandos editar vi y emacs se establecen automáticamente al iniciarse sqsh for
retrocompatibilidad con isql.
\buf-obtener búfer
El \buf-obtener El comando se proporciona como un método abreviado para ejecutar \ buf-copy La altura de la cúpula es XNUMX metros, que es
equivalente a correr:
\buf_append!. buffer
\buf-load [-a] nombre de archivo [dst-buffer]
Copia el contenido de nombre de archivo in búfer dst (predeterminado en !.). Si el -a bandera es
suministrado, el contenido de nombre de archivo se adjuntan a búfer dst. Tenga en cuenta que es ilegal
para intentar escribir en el contenido del búfer de historial.
\buf-save [-a] nombre de archivo [src-buffer]
Guarda el contenido de buffer-src (predeterminado en !.) a nombre de archivo. Si el -a bandera es
suministrados los contenidos se adjuntan a nombre de archivo en lugar de sobrescribir el actual
contenido.
\buf-mostrar [búfer]
Muestra el contenido del nombre buffer. Si buffer no se suministra, entonces el
se muestra el contenido de todos los búferes nombrados. Este comando es ligeramente diferente de
los comandos anteriores en el sentido de que solo es legal proporcionar un Llamado Buffer buffer, Historia
Amortiguadores, y el Trabaja Buffer no tendrá resultados.
Variables
Los siguientes comandos se utilizan para manipular el contenido de las variables internas y
Variables de entorno.
\set [-x] [nombre=propuesta de ...]
Si no se proporcionan argumentos a \colocar entonces los valores actuales de todas las variables son
desplegado. De lo contrario la variable nombre se establece a propuesta de. Tenga en cuenta que algunos internos
variable (ver SPECIAL VARIABLES) sólo puede ajustarse con determinadas propuesta des, por lo que esta acción
puede fallar, dejando el contenido anterior en nombre intacto. La -x bandera causa el
variable que se exportará al entorno de cualquier programa lanzado desde sqsh.
Trabajos Control
Los siguientes comandos se utilizan para ver el estado o manipular trabajos en segundo plano que
se están ejecutando actualmente, estos corresponden aproximadamente a los comandos proporcionados por shells como
csh(1).
\trabajos [-i]
Muestra el estado de los trabajos que se están ejecutando actualmente, incluso si estos trabajos están o no
tienen salida pendiente, cuánto tiempo han estado ejecutándose y cuándo se iniciaron. El
-i La opción mostrará información adicional sobre el trabajo. Tenga en cuenta que el tiempo total de ejecución de
el trabajo se determina desde el momento en que el trabajo se marca como completo mediante la evaluación de lectura.
bucle de impresión cuando sondeado, no cuando realmente terminó y está marcado como terminado por el
manejador de señales.
\espera [job_id]
Hará una pausa hasta que el trabajo designado por Identificación del trabajo completa. Si Identificación del trabajo es un numero negativo
después \Espere hará una pausa hasta any los trabajos pendientes se completan. Si no hay trabajos pendientes,
or Identificación del trabajo no pertenece a un trabajo en ejecución, se muestra un mensaje de error. Nota
que si se están ejecutando varios trabajos y \Espere se emite para uno de ellos, el otro
Es posible que los trabajos no se señalen automáticamente cuando se completan dentro del período de espera del
trabajo especifico. Los otros trabajos pueden necesitar ser señalados con un \Espere -1 también para ser
notado completo por sqsh.
\matar job_id
Termina el trabajo especificado por Identificación del trabajo, desechando cualquier salida que pueda ser aplazada
para el trabajo. Si Identificación del trabajo no es un trabajo en ejecución, se muestra un mensaje de error.
\mostrar job_id
Muestra la salida diferida del trabajo en segundo plano completado Identificación del trabajo y quita el trabajo
de la lista de trabajos pendientes (eliminando el archivo diferido en el proceso). Si Identificación del trabajo is
aún en ejecución, o no es un trabajo completo válido, se muestra un mensaje de error. Ustedes
puede necesitar emitir un \Espere Identificación del trabajo primero, para recibir una notificación de la finalización real del trabajo.
Aliasing
A partir de la versión 1.2, sqsh apoya completo csh-estilo de alias de comando. Con esta característica, sqsh
comprueba la primera palabra de cada línea, antes a any formulario of expansión, a ver si coincide
el nombre de un alias existente. Si lo hace, el comando se reprocesa con el alias
definición reemplazando su nombre. a diferencia de csh, sin embargo, sólo una forma de sustitución de la historia
está disponible dentro de un alias: el '!*' entrada, que indica la línea actual que se está expandiendo.
Si no se requiere una expansión del historial, los argumentos en la línea de comando permanecen sin cambios.
Como csh, los alias no se expanden recursivamente, por lo que es perfectamente legal crear un
alias que se expande a un comando con el mismo nombre.
El siguiente comando se utiliza para crear un alias:
\alias [nombre_alias=cuerpo_alias]
Si no se proporcionan argumentos a la \alias comando, luego la lista de alias actualmente
en efecto se muestra. De lo contrario, crea un nuevo alias con el nombre de Apodo
y un cuerpo de alias_cuerpo; Si Apodo ya existe, el cuerpo de lo existente
Apodo se reemplaza con la nueva definición.
Después de definir el nuevo alias, siempre que sqsh encuentra una línea que comienza con
Apodo, el resto de la línea se reemplaza con alias_cuerpo antes de nada mas
se realiza el procesamiento.
Si la cadena '!*' existe en cualquier lugar dentro alias_cuerpo, los argumentos proporcionados a la
alias se insertan en ese punto, de lo contrario, el argumento se agrega al final de
la definición de alias. Por ejemplo:
1> \alias hi='\echo !* dijo hola'
1> hola Scott
scott dijo hola
donde como si el alias no incluyera el !* palabra clave, entonces se comporta así:
1> \alias hola='\echo dijo hola'
1> hola Scott
dijo hola scott
Es perfectamente legal incluir un !* más de una vez dentro de un determinado alias_cuerpo.
Actualmente no hay forma de escapar de la cadena. !*, si realmente necesita esta característica
envíame correo
\unalias nombre_alias
Elimina Apodo.
Misceláneos
Los comandos sobrantes.
\salir [x]
El \Salida el comando solicita que el ciclo de lectura-evaluación-impresión actual deje de procesarse. Cuándo
vuelve el último bucle, sqsh salida(1)s. Puede especificar un código de salida como parámetro que
será almacenado en $valor_de_salida y se usará como valor de retorno al shell al salir
of sqsh. (0 <= x <= 255).
\abortar
Hace que todos los bucles de lectura-evaluación-impresión anidados cancelen el procesamiento, lo que provoca sqsh salir con
un valor de salida de 254 (ver sección SALIR ESTADO).
\leer [-a] [-n] [-h] nombre_var
Lee una línea de entrada del usuario, colocando el texto de la línea en la variable
nombre_var. Si el -n se utiliza, entonces la nueva línea final se deja en la línea de texto,
y si -a se proporciona, entonces el texto de la línea se agrega al valor existente de
nombre_var. -h flag desactiva el eco de los caracteres escritos de vuelta al usuario.
\dormir segundos
Causas sqsh demasiado pausa para segundos. Esto es útil dentro de los scripts de lotes que necesitan
para hacer una breve pausa entre lotes (principalmente me resultó útil para probar el fondo
trabajos).
\echo [-n] [argumentos...]
Al igual que UNIX echo(1), esto imprime sus argumentos en stdout, seguidos de un new-
línea. Si el -n se proporciona la bandera, se omite la nueva línea.
\garantía
Muestra la garantía GNU estándar.
\ayuda [comando]
Sin argumentos \ayuda muestra una breve lista de todos los comandos disponibles,
de lo contrario, proporciona ayuda específica para comando, si está disponible. Cuando se solicita ayuda
en un específico comando, \ayuda busca el archivo $help_dir/command.hlp y lo muestra
a stdout.
\shell [comando de shell]
If shell comando no se suministra entonces sqsh ejecuta $ CONCHA. Si el $ CONCHA variable tiene
no se ha configurado, entonces, por defecto, / Bin / sh es ejecutado. De lo contrario, si shell comando is
suministrado, entonces se ejecuta. El estado de salida del comando ejecutado se almacena en el
especial $? variable de entorno de solo lectura.
\cerrar con llave
Bloquea la sesión actual hasta que se ingresa la contraseña correcta. Por defecto \cerrar con llave
intenta utilizar la contraseña de UNIX (de / Etc / passwd) asociado con el usuario que ejecuta
sqsh, sin embargo si el $cerrar se establece la variable, entonces el contenido de eso se usa para
validación en su lugar.
Tenga en cuenta que en los sistemas que utilizan Shadow Passwords (en los que incluso la contraseña cifrada es
indisponible), \cerrar con llave solo funcionará usando el $cerrar variable.
Alias
Los siguientes alias se establecen al iniciarse sqsh, y se proporcionan principalmente para
retrocompatibilidad con isql. Estos pueden ser eliminados en cualquier momento usando el \unalias
comando (ya sea en el indicador o dentro de su archivo .sqshrc).
! los ! alias se proporciona como un csh(1)-como mecanismo de historia, y es un alias de
\buf-añadir. Con la versión 0.7, este alias se proporciona solo para compatibilidad con versiones anteriores.
con lanzamientos anteriores de sqsh. Vea SPECIAL VARIABLES, $historia_taquigrafía para conocer más detalles.
en el nuevo mecanismo de taquigrafía (la nueva taquigrafía se parece más a la de csh).
limpiar
Un alias para el \claro comando, que hace que el contenido del búfer de trabajo actual
para ser limpiado y descartado. Además, la pantalla se borrará si se compila readline
into sqsh.
reajustar
Un alias para el \Reiniciar comando, que hace que el contenido del búfer de trabajo actual
para ser borrado y copiado al historial (si está en modo interactivo).
salir [x]
salir [x]
Un alias para el \Salida [X] comando, hace que el ciclo actual de lectura-evaluación-impresión
completa.
editar
vi
emacs
Estos se proporcionan como alias para el \buf-editar mando. Ver COMANDOS-Búferes for
información sobre las interacciones entre \buf-editar y alias.
ir Proporcionado como un alias para el \Vamos comando (por razones obvias).
ayuda
Un alias para el \ayuda mando.
En línea \Vamos
Si la variable $punto y coma_hack se establece en 1 (activado), entonces sqsh admite lo que se denomina
línea \Vamos característica. Esto permite terminar el lote de comandos actual y enviarlo al
base de datos en un solo paso agregando un ';' al final del búfer de trabajo actual. Esta
permite
1> sp_quien;
Para comportarse de la misma manera que si hubiera escrito:
1> sp_quien
2> \ ir
Del mismo modo, todo lo que sigue al punto y coma se pasa al \Vamos comando como si fuera
ejecutar como un comando normal:
1> sp_quien ; 2>/desarrollo/null | más
A diferencia de la mayoría de los otros isql reemplazos, sqsh intenta ser inteligente con los puntos y comas. si un
el punto y coma está contenido dentro de un conjunto de comillas simples o dobles, no se interpretará.
Esto incluye múltiples cotizaciones. Por ejemplo:
1> seleccione "Esta es una línea múltiple
2> cotización; ¡es inteligente!";
En el ejemplo anterior, solo el segundo punto y coma (el que está al final de la línea) será
interpretado.
SPECIAL VARIABLES
Hay varias opciones que se pueden configurar a través de las opciones de la línea de comandos para sqsh,
sin embargo, estos no están completos. Hay muchos aspectos de sqshcomportamiento que puede
sólo puede modificarse configurando variables especiales. (De hecho, las opciones de la línea de comandos realmente
solo establezca estas variables por usted).
Variable Data tipos
Junto a todas las variables que siguen está el tipo de datos con el que se pueden establecer.
Cualquier intento de configurar la variable con un tipo de datos que no acepte fallará.
cadena
Cualquier secuencia de caracteres.
booleano
Un positivo booleano el valor se puede representar como "Verdadero", "Sí", "1" o "Activado"
(no distingue entre mayúsculas y minúsculas) y un valor booleano negativo puede representarse como "Falso", "No",
"0" o "Desactivado" (sin distinción entre mayúsculas y minúsculas). Sin embargo, internamente el valor de la variable será
siempre se representará como un "1" o un "0".
camino
Debe ser el camino nombre que es legible por el sqsh .
int Debe tener uno o más dígitos. Tenga en cuenta que algunas variables también restringen el rango de
entero.
especificación de fecha
Esta es una cadena del formato usado para especificar fechas y horas para el datos(1)
comando, o el Strftime(3C) y tiempo libre(3C) funciones estándar de la biblioteca C. Por ejemplo
'%H:%M:%S' especifica una hora en formato de 24 horas, seguido de dos puntos, seguido
por minutos, seguido por dos puntos, seguido por segundos.
formato flotante
Una cadena del formato ps, donde el p es la precisión total de un valor de punto flotante
(el número total de dígitos que se mostrarán, incluidos los que siguen al decimal)
y s es la escala del valor (el número total de dígitos que siguen al decimal para
se visualizará).
Variables
Las siguientes variables tienen significados especiales dentro sqsh y la configuración de estos
Las variables alteran el comportamiento del shell.
PS (En t)
Esta variable de solo lectura puede contener el siguiente valor de retorno:
· El número de error más reciente devuelto por SQL Server (@@errno) de gravedad >
10 (mensajes informativos arriba).
· El valor de salida de un comando de tubería ejecutado previamente.
· El valor de retorno de la función sqsh ejecutada más recientemente.
$$? (En t)
Esta variable puede contener el resultado de la última instrucción \if ejecutada:
- 0 -
La prueba evaluó a Falso.
- 1 -
La prueba evaluó a True.
- 2 -
Hubo un error en la especificación de la prueba.
$# (int)
Contiene el número de argumentos pasados a la función o secuencia de comandos sqsh.
$* (lista de cadenas)
Se expande a la lista completa de argumentos proporcionados a la función o secuencia de comandos cuando
invocado.
${0}....${N} (int)
Se utiliza para hacer referencia a argumentos de funciones posicionales. El argumento ${0} es el nombre del
función que se llama, ${1} es el primer argumento, etc.
$$ Se expande al ID de proceso de la sesión sqsh actual en ejecución.
DISPLAY
Puede contener el nombre de la PANTALLA que usa el servidor X para poner el resultado de XWindows
ventana cuando se usa \Vamos -x. valores predeterminados para el $ PANTALLA entorno de shell.
nombre de la aplicación
Contiene el nombre sqsh utiliza para identificarse ante el servidor. El valor predeterminado es sqsh-2.1.7.
El nombre de la aplicación se puede recuperar de la tabla sysprocesses como:
seleccione program_name de master.dbo.sysprocesses donde spid=@@pid;
uso automático (cadena)
Nota: el significado de esta variable ha quedado obsoleto.
If $autouso está configurado, y el $ Base de datos variable no se ha establecido, entonces esta variable
causas \conectar realizar un "uso $autouso" una vez que se ha establecido una conexión.
Esta variable también se puede establecer mediante el -D opción de línea de comando.
banner (booleano)
Desactiva el mensaje de banner que se muestra al inicio, esta variable tiene un valor predeterminado de 1 y puede
también puede apagarse usando el -b argumento de línea de comando.
lote_failcount (int)
Esta variable interna se utiliza para realizar un seguimiento de la cantidad de lotes que han fallado
para ejecutar (esencialmente, la cantidad de veces que se llamó al controlador de errores).
Un lote se considera fallido cuando un error de gravedad $thresh_fail is
encontrado. Cuándo $batch_failcount alcances $ umbral_salida sqsh sale con un valor de salida
del número total de lotes que han fallado. Ajuste $batch_failcount En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”.
cadena "" hará que se restablezca a cero, cualquier otro valor puede tener impredecible
resultados.
See SALIR ESTADO para obtener más detalles.
lote_pausa (booleano)
Hace que se muestre el mensaje "En pausa. Presiona enter para continuar..." después de cada lote
es ejecutado. Esta variable, junto con $eco es bueno para depurar SQL
guiones especificados con el -i .
bcp_colsep (cadena)
Se utiliza como separador entre columnas durante la salida de estilo BCP (ver el $ estilo
variable de configuración y la -m opción a la \Vamos mando). La configuración predeterminada es
"|".
bcp_rowsep (cadena)
Se utiliza como separador entre filas durante la salida de estilo BCP (consulte la $ estilo configuración
variable y la -m opción a la \Vamos mando). Tenga en cuenta que, una nueva línea ("\n") es
agregó automáticamente este valor y no debe proporcionarse. La configuración predeterminada es
"|".
bcp_trim (booleano)
Controla si la salida de estilo BCP recorta o no los espacios finales de una longitud fija
columnas El defecto es cierto".
encadenado (booleano)
Si se establece, sqsh usa el modo de transacción "encadenado" (también conocido como "AutoCommit off"). Ajuste
esto NO tiene efecto en la conexión actual. Se puede configurar a través de la línea de comando.
argumento -n.
conjunto de caracteres (cadena)
Si esta variable se establece antes de establecer una conexión con SQL Server, entonces
durante la conexión sqsh solicitará que el servidor se transforme hacia y desde el
pedido charset. Después de establecer una conexión, esta variable se establece automáticamente
al juego de caracteres actual en uso.
clear_on_fail (booleano)
Normalmente, siempre que el \Vamos se ejecuta el comando, sqsh borra el búfer de trabajo actual de su
contenidos, trasladándolos a la historia. Ajuste $clear_on_fail a 0, deja el trabajo actual
búfer intacto si se encuentra una falla al enviar el contenido a la base de datos.
El valor predeterminado es 1 o activado.
colsep (cadena)
Causa la cuerda colapsar que se utilizará para delimitar las columnas de salida de la columna SQL, este
el valor predeterminado es " ", también se puede configurar a través del argumento de la línea de comando -s.
ancho de columna (int)
Se utiliza para controlar el ancho de columna máximo que muestra el bastante estilo de visualización (ver
$ estilo debajo). Si una fila de una columna excede este ancho, se envolverá en un
manera relativamente visualmente atractiva en $anchocol caracteres. Tenga en cuenta, sin embargo, que si
hay suficiente ancho de pantalla para contener todas las columnas $anchocol puede ser excedida hasta el
se alcanza el ancho de la pantalla.
base de datos (cadena)
Si esta variable se configura antes de establecer una conexión con SQL Server, el
"usar $ Base de datos" se realiza inmediatamente después de establecer la conexión. Una vez que se
se ha establecido la conexión, esta variable se establecerá automáticamente en el actual
contexto de la base de datos.
fecha (especificación de fecha)
Esta variable se puede establecer con un formato de fecha (consulte la página del manual para datos(1)), y la
La variable se expande a la fecha actual en el formato proporcionado. El formato predeterminado para
esta variable es %d-%b-%y (por ejemplo, 02-feb-1996).
fecha y hora (especificación de fecha)
Esta variable se puede establecer con un formato de fecha similar a $ fecha y $ tiempo y está acostumbrado a
controlar el formato de visualización de todas las columnas DATETIME y SMALLDATETIME de SQL Server.
Tenga en cuenta que esta característica se basa en la información local específica del sistema operativo
para determinar cosas tales como el nombre del mes y el día, en lugar de ir
a través de la información de configuración regional de CT-Lib. Esto significa que el formato de fecha podría
potencialmente no coincidir con la configuración regional según lo solicitado mediante el -z bandera. Por ejemplo, si sqsh
se ejecuta en un sistema operativo configurado para inglés estadounidense, pero solicita el francés como idioma
idioma de elección utilizando -z, El uso de $fechahora hará que toda la información de la fecha
mostrarse en inglés estadounidense en lugar de en francés.
Los caracteres ordinarios definidos en la variable se dejan en su lugar sin ninguna conversión.
Los caracteres introducidos por un carácter '%' se reemplazan durante la visualización de un valor de columna
como sigue:
[] Cualquier contenido entre un par de llaves ('[' y ']') se eliminará cuando
mostrando columnas SMALLDATETIME. Esta función es especialmente útil para eliminar
los valores de segundos y milisegundos que no son aplicables a SMALLDATETIME
de todos modos. Para las columnas DATETIME, solo se eliminarán las llaves reales.
%a El nombre abreviado del día de la semana según la configuración regional actual del sistema operativo.
%A El nombre completo del día de la semana según la configuración regional actual del sistema operativo.
%b El nombre del mes abreviado según la configuración regional actual del sistema operativo.
%B El nombre completo del mes según la configuración regional actual del sistema operativo.
%c La representación de fecha y hora preferida para el sistema operativo actual.
local.
%d El día del mes como un número decimal (rango 0 a 31).
%D La fecha en formato estadounidense (mm/dd/aa).
%H La hora como un número decimal utilizando un reloj de 24 horas (rango de 00 a 23)
%I La hora como un número decimal usando un reloj de 12 horas (rango 01 a 12)
%j El día del año como un número decimal (rango 001 a 366).
%m El mes como un número decimal (rango 10 a 12).
%M El minuto como número decimal.
%p 'am' o 'pm' según el valor de tiempo dado, o el correspondiente
cadenas para la configuración regional actual del sistema operativo.
%r La hora en formato de 12 horas (hh:mm:ss [AM|PM]).
%s segundos desde el epoc (1970-01-01 00:00:00 UTC) (esto no es compatible con todos los
sistemas).
%S El segundo como número decimal.
%T La hora actual en formato de 24 horas (hh:mm:ss).
%u El milisegundo como número decimal.
%U El número de semana del año actual como un número decimal, comenzando con el primero
Domingo como el primer día de la primera semana.
%W El número de semana del año actual como un número decimal, comenzando con el primero
Lunes como el primer día de la primera semana.
%w El día de la semana como decimal, siendo el domingo 0.
%x La representación de fecha preferida para el entorno local actual sin la hora.
%X La representación horaria preferida para el entorno local actual sin la fecha.
%y El año como número decimal sin siglo (rango 00 a 99).
%Y El año como un número decimal que incluye el siglo.
%Z La zona horaria (por ejemplo, EDT), o nada si no la zona horaria es determinable.
%% Un carácter '%' literal.
depurar (cadena)
If sqsh se ha compilado con la depuración habilitada (-DDEBUG), esta variable puede usarse
para controlar la cantidad de salida de depuración que se muestra. $depurar puede establecerse en una tubería (|)
conjunto delimitado (OR lógico) de las siguientes palabras para activar varias piezas de
depuración: ALIAS, AVL, BCP, DISPLAY, ENV, ERROR, AMPLIAR, FD, TRABAJO, LEER LÍNEA (abr. RL),
RPC, PANTALLA, SIG, SEÑAL (o SIGCLD) o TODO INCLUIDO.
defer_bg (booleano)
Normalmente, cuando un trabajo se ejecuta en segundo plano (a través de un '&' en la línea de comando), el
la salida del trabajo se difiere a un archivo temporal (ubicado en $tmp_dir) hasta que el usuario
solicita que la salida se muestre usando \espectáculo Identificación del trabajo. De esta manera los resultados del trabajo
no interferirá con lo que el usuario está haciendo. Establecer esta variable en false will
dar como resultado que no se creen archivos de salida diferidos y que la salida se envíe a la pantalla
inmediatamente
eco (booleano)
Fijar $eco a on (1) hace que cada comando enviado a la base de datos a través del \Vamos
comando que se mostrará antes de la salida. Esta variable por defecto es 0 (o desactivada), y
también se puede configurar con el -e opción de línea de comando.
cifrado (booleano)
Configurando el $cifrado variable antes de establecer una conexión con el servidor
hacer que la conexión de inicio de sesión se inicie utilizando el cifrado de contraseña del lado del cliente. Esta
La variable también se puede establecer mediante el -X opción de línea de comando.
exit_failcount (booleano)
Establecer este valor en 1 provoca sqsh para devolver un estado de salida de $batch_failcount
en lugar de 0, en una terminación sin error. Ver SALIR ESTADO para detalles. El valor por defecto
el valor es 0.
valor_salida (int)
Cuando sale de sqsh especificando un código de salida, como \Salida 3 o usando uno de los
alias salida or renuncia comandos, entonces este valor se asigna a la $valor_de_salida
variable. También puede asignar un valor usando el \colocar mando. Cuando sqsh determina
esta variable tiene un valor distinto de cero durante la terminación, este valor se utilizará como salida
código. Ver SALIR ESTADO para obtener más detalles.
expandir (booleano)
Por defecto cuando el \Vamos se ejecuta el comando, el contenido del búfer de trabajo actual
se expande de todas las variables de entorno antes de ser enviado a la base de datos para
ejecución. Al establecer esta variable en "0", el búfer ya no se expandirá
antes de ser enviado a la base de datos. Esto es útil cuando (1) tiene cadenas en
el búfer que contiene un '$' y no desea que se expanda, o (2) para
motivos de rendimiento; se necesita tiempo (y una copia extra del búfer) para realizar el
expansión variable.
filtro (booleano)
Alterna el filtrado del lote de SQL a través de un programa externo (definido por el
$ filter_prog variable, a continuación) antes de ser enviado a SQL Server. El valor predeterminado es '0',
o 'apagado'.
filter_prog (cadena)
Define el programa externo a través del cual se filtrará el lote de SQL antes de
siendo enviado al servidor SQL. Esta variable se ignora si $ filtro se establece en '0' o
'apagado'. El valor predeterminado es 'm4 -'.
float (formato flotante)
Define el formato de visualización (la precisión y la escala) para todos los valores de punto flotante
mostrado por sqsh. El valor predeterminado es '18.6'. Tenga en cuenta que los valores que excedan el definido
precisión no se truncan, por lo que establecer este valor demasiado bajo puede hacer que las columnas en un
conjunto de resultados para estar desalineado.
pies de página (booleano)
Alterna el "(%d filas afectadas)" después de un conjunto de resultados. El valor predeterminado para esta variable
es '1'.
encabezados (booleanos)
Alterna los encabezados de columna que preceden a un conjunto de resultados. El valor predeterminado para esta variable es
'1'.
help_dir (ruta)
Esta es la ubicación de los archivos de ayuda utilizados por el \ayuda comando, por lo general
por defecto es algo como /usr/local/lib/sqsh/help.
hist_auto_save (int)
Cuando variable $histsave está encendido y el $hist_auto_save variable tiene un valor mayor
que 0, entonces el historial se guardará automáticamente en $historia después de $hist_auto_save
modificaciones de los búferes de historial. Cuando el valor es 0 (predeterminado), entonces no hay automático
se guardará el historial.
número de historia (int)
Contiene el número de historial que se asignará al lote de comando actual tan pronto
como el \Vamos se ejecuta el comando. Esta variable debe considerarse de solo lectura. Ver también
la discusión sobre el $histunique variable.
historia (camino)
Esta es la ubicación del archivo de historial utilizado para almacenar y recuperar el historial de un usuario.
durante el arranque y apagado. Esto por defecto es $HOME/.sqsh_historia. Esta variable es
se expande cada vez que sqsh hace referencia a él, de la misma manera que $ aviso is
se hace referencia cada vez que se muestra el aviso.
history_shorthand (booleano)
Esta variable solo tiene sentido dentro de una sesión interactiva. Si está configurado, se enciende
la capacidad de agregar cualquier búfer con nombre o búfer de historial al búfer de trabajo actual
en un estilo de historia 'sh', como '!40'. Tenga cuidado con esta característica, sqsh no es
terriblemente inteligente al buscar taquigrafías de historia, por lo que es posible que pueda
confundirse (aunque es lo suficientemente inteligente como para ignorar las cadenas entre comillas).
histsave (booleano)
El valor de esta variable es utilizado por sqsh para indicar si la historia debe ser
guardado en $historia antes de la finalización de sqsh.
tamaño hist (int)
El valor de esta variable se utiliza para modificar el número máximo de entradas del historial.
mantenido por sqsh (el valor predeterminado es 10). Tenga en cuenta que la disminución del valor de este
variable hace que se pierdan algunas entradas del historial.
histunique (booleano)
Si está configurado, sqsh mantiene un orden MRU-LRU de buffers ejecutados y no almacena
búferes de comandos duplicados. Por ejemplo, observe la siguiente situación:
LINUX1502.usuario1.maestro.1> \historia
(1) sp_quien
(2) otorgar rol mon_role a sa_role
(3) seleccione * de monProcessActivity
(4) seleccione @@authmech,show_sec_services()
(5) seleccione @@nombreservidor,@@authmech,show_sec_services()
LINUX1502.usuario1.maestro.1> sp_who
LINUX1502.usuario1.maestro.2> ir
... salida omitida
LINUX1502.usuario1.maestro.1> \historia
(1) otorgar rol mon_role a sa_role
(2) seleccione * de monProcessActivity
(3) seleccione @@authmech,show_sec_services()
(4) seleccione @@nombreservidor,@@authmech,show_sec_services()
(5) sp_quien
sp_who es el último comando ejecutado y el búfer - originalmente el último en la lista -
ahora está en la parte superior de la lista. Cuando se reutiliza un búfer ya existente, el valor del
$histnum la variable no se cambia.
nombre de host (cadena)
Se utiliza durante el proceso de conexión para indicar a SQL Server el nombre del host desde
lo cual sqsh está conectando. Esta variable también se puede establecer mediante el -H bandera.
si (cadena)
La lista de Separadores de campos internos.
ignoreeof (booleano)
De forma predeterminada, sqsh termina si el usuario presiona ^d (control-D) en una línea vacía y
el soporte de readline está compilado. Si $ignorarde está configurado en el archivo sqshrc, obtienes un
mensaje de advertencia en su lugar:
CTRL-D: use "salir" o "salir" para salir del shell sqsh.
Esto es equivalente a usar "set -o ignoreeof" en el shell bash.
interactivo (booleano)
Esta es una variable que se usa internamente y probablemente el usuario no debería modificarla. Si
$interactivo es '0', entonces el indicador no se muestra, el historial no se lee ni
se escriben y se suprimen algunos mensajes de usuario.
interfaces (ruta)
Este es el nombre completo de la ruta del archivo de interfaces, por defecto es $SYBASE/interfaces.
keytab_file (cadena)
Se utiliza en los mecanismos de seguridad de autenticación de usuarios de Kerberos y DCE. Corresponde con el
-K opción de inicio.
Consulte también la discusión sobre la compatibilidad con Kerberos.
keyword_completion (int/cadena)
Esta variable solo se aplica si la compatibilidad con GNU Readline se ha compilado en sqsh.
$palabra_clave_completada se utiliza para controlar la función de finalización de palabras clave de TSQL en
readline, y se puede configurar usando un número entero entre 0 y 4, o uno de los
instrumentos de cuerda ninguna, lower, superior, inteligenteo exacto. Si se establece en 0 o ninguna, entonces no
se realiza la finalización de la palabra clave (este es el valor predeterminado). lower o 1, causas sqsh a
completar la palabra clave en minúsculas, sin importar el caso de que la complete parcialmente
se escribió la palabra clave. superior o 2 fuerza la finalización para que se realice en mayúsculas, inteligente,
o 3, basa la decisión sobre el caso en el primer carácter de la palabra clave parcial, y
exacto completa la palabra clave exactamente en el mismo caso como se define en el .sqsh_palabras
(para las palabras clave TSQL integradas, se escribirá en minúsculas).
keyword_file (cadena)
Si el soporte de readline ha sido compilado en sqshy sqsh se está ejecutando en interactivo
modo, el contenido de este archivo se utiliza para completar la pestaña de palabras clave mediante readline en lugar de
que el conjunto predeterminado de palabras clave sintácticas de TSQL. El valor predeterminado es $INICIO/.sqsh_words.
idioma (cadena)
El $ idioma variable se utiliza al establecer una conexión con el servidor para
especificar el idioma nacional utilizado para mostrar las indicaciones y los mensajes del sistema. El
La variable rastreará automáticamente la configuración de idioma actual del servidor. Esto puede
también puede configurarse mediante el -z bandera.
lino (int)
Esta es una variable interna y no debe ser alterada por el usuario. Es usado para
mantener el número de línea que se está escribiendo dentro del búfer de trabajo actual.
pasos de línea (cadena)
Se utiliza para configurar el separador de línea para el estilo de visualización horizontal, este valor predeterminado
a "\n\t".
lock (cadena/solo escritura)
Define la contraseña que utilizará el \cerrar con llave mando. Si no está configurado o configurado en la cadena
"NULL", luego la contraseña de UNIX del usuario que ejecuta sqsh se utiliza en su lugar (si es posible).
Tenga en cuenta que $cerrar siempre se expandirá a la cadena "*lock*" si se hace referencia.
inicio de sesión_tiempo de espera (int)
El número de segundos de espera al intentar crear una nueva conexión a un data
servidor. El valor predeterminado es 0 (espera infinita). Véase también el -T opción de línea de comando.
max_timeout (int)
Controla el número de veces que una consulta debe alcanzar su valor de tiempo de espera antes de que
se aborta la sesión. Ver $ query_timeout y la -Q indicador de línea de comando. La siguiente
se mostrarán mensajes y sqsh sale con el valor 255 cuando el $ max_timeout límitar
sea alcanzado.
Tiempo de espera de consulta o comando detectado, sesión abortada
La conexión del cliente ha detectado esto x veces
Abortar en el límite max_timeout
maxlen (int)
Controla la cantidad máxima de datos que se mostrarán (en cualquier modo de visualización) en un
una sola columna. Esta configuración truncará automáticamente la salida de particularmente
tipos de datos grandes (como TEXTO) al valor proporcionado. La configuración predeterminada es 8192
bytes (8 KB).
newline_go (booleano)
Esta bandera se usa como una chapuza horrible para respaldar un alias "vacío" para el \Vamos
comando, es decir, el equivalente a proporcionar "-c ''" o simplemente "-c" en el comando
línea. Cuando está activado, una línea vacía se interpreta como una llamada al \Vamos mando. Esta característica
no se recomienda, pero se proporciona para completar.
output_parms (booleano)
Indicador utilizado para habilitar o deshabilitar la visualización de conjuntos de resultados de parámetros de salida almacenados
procedimientos. El valor predeterminado es habilitar la visualización.
tamaño_paquete (int)
Define el tamaño de los paquetes TDS utilizados para comunicarse con SQL. Cambiando el valor
de la variable no afectará la conexión actual pero tendrá efecto sobre la
Next \ reconectar mando. Especificar un valor de NULL indica que el paquete predeterminado
se desea el tamaño.
contraseña (cadena/solo escritura)
Esta es la contraseña actual del usuario. Se puede asignar una contraseña NULL usando un explícito
cadena "NULO". Por razones de seguridad, cuando se hace referencia a la $ contraseña variable voluntad
expanda siempre a la cadena "*contraseña*".
contraseña_reintentar (booleano)
Cuando la variable está activada y sqsh se inició en modo interactivo, sqsh le pedirá la
contraseña de nuevo si falla el inicio de sesión. Cuando se establece en 'off', sqsh terminará inmediatamente.
El valor predeterminado está activado.
principal (cadena)
Se utiliza en la autenticación de usuario de Kerberos como el nombre principal del servidor cuando difiere de
los $ DSQUERY nombre. Corresponde con el -R opción de inicio.
Consulte también la discusión sobre la compatibilidad con Kerberos.
aviso (cadena)
Esta variable es utilizada por sqsh para construir su aviso actual. Cualquier variable contenida
within $ aviso se expanden cada vez que se muestra el aviso. El valor predeterminado para
esto es '${lineno}> '. Vea también la discusión sobre el soporte de color a continuación.
prompt2 (cadena)
El contenido de este indicador se expande y se muestra durante el uso interactivo cuando
sqsh requiere entrada adicional, como durante una continuación de línea. El valor predeterminado
es '-->'.
consulta_tiempo de espera (int)
Número de segundos de espera para que una consulta devuelva datos. Si se alcanza el tiempo de espera, el
la consulta es abortada (cancelada). Ver también $ max_timeout y la -Q opción de línea de comando.
rcfile (ruta)
Contiene una lista delimitada por dos puntos (:) de archivos de recursos sqsh (sqshrc). El valor por defecto
la configuración es /etc/sqshrc seguido de $INICIO/.sqshrc).
readline_history (cadena)
Si el soporte de readline ha sido compilado en sqsh, el contenido de la línea de lectura línea por
el historial de línea se escribirá en el archivo especificado por el $readline_historia variable.
El valor predeterminado es $HOME/.sqsh_readline.
readline_histize (int)
Si el soporte de readline ha sido compilado en sqsh, El valor de $readline_histize
especifica el número de líneas que se guardan en el historial línea por línea de readline.
Establecer esto en un valor de 0 hace que se guarden todas las líneas. El valor predeterminado es 100.
real (formato flotante)
Define el formato de visualización (la precisión y la escala) para todos los valores reales mostrados por
sqsh. El valor predeterminado es '18.6'. Tenga en cuenta que los valores que exceden la precisión definida no son
truncado, por lo que establecer este valor demasiado bajo puede causar que las columnas en un conjunto de resultados se pierdan.
alineado.
repetir_batch (booleano)
Cuando se establece en On or ¿Editas con tu equipo de forma remota?, \Vamos ejecutado con un vacío SQL Buffer hará que el
lote anterior para ser re-ejecutado.
secmech (cadena)
El nombre del mecanismo de seguridad utilizado para la autenticación de usuarios. Por ejemplo csfkrb5.
Cuando se utiliza el -Z opción, se puede especificar el nombre del mecanismo de seguridad, o cuando
no se proporciona secmech, OpenClient utilizará el valor predeterminado, es decir, la primera seguridad
entrada de la $SYBASE/$SYBASE_OCS/config/libtcl.cfg Archivo. Tenga en cuenta que el nombre utilizado
debe coincidir con el nombre de la entrada secmech correspondiente en el idobjeto.dat expediente. Cuando
la conexión con el servidor está configurada, el nombre real de secmech se almacenará en el
$ secmech variable.
opciones_seguras (cadena)
Describir las opciones de seguridad utilizadas para los mecanismos de seguridad de autenticación de usuarios.
corresponde a la -V opción de inicio.
Consulte también el párrafo sobre la compatibilidad con Kerberos.
guión (cadena)
If sqsh se ejecuta usando el -i flag, entonces esta variable contiene el nombre del script
ser ejecutado.
punto y coma_cmd (cadena)
Cuándo $punto y coma_hack (ver más abajo) está habilitado, el contenido de esta variable se ejecuta
cuando se encuentra un punto y coma en el SQL Buffer. Esta variable por defecto es la
cuerda '\Vamos'.
punto y coma_hack (booleano)
Activa la capacidad de usar un ';' como un terminador de comando en línea. Esta característica es
no se recomienda y solo está aquí porque muchos usuarios se quejaron. Mira la sección
COMANDOS, En línea Go.
sesión (cadena)
La ubicación del archivo de sesión que se procesará justo antes de conectarse a un
servidor. La variable se expandirá para que pueda contener variables de entorno.
CONCHA (cuerda)
El nombre del shell que se usará para ejecutar tuberías y que usará el \cáscara comando
(defecto '/ Bin / sh').
estadísticas (booleano)
Fijar $ estadísticas a 1 hace que las estadísticas de tiempo se muestren sobre el éxito
ejecución de cada lote de SQL. Esta variable también se puede configurar mediante el -t de línea de comandos
bandera, o suministrando -t En el correo electrónico “Su Cuenta de Usuario en su Nuevo Sistema XNUMXCX”. \Vamos mando. $ estadísticas el valor predeterminado es 0.
estilo (cadena)
Selecciona el estilo de visualización del conjunto de resultados. Actualmente se admiten ocho estilos. El horizonte
(que también se puede definir como hor or horizontal), se parece mucho a la salida de
isql, con la salida en columnas tradicional.
El verde (o vertical) el estilo gira la salida, de modo que cada línea está representada por
un nombre de columna seguido de un valor de columna. Esto es agradable para mirar particularmente
Salida amplia.
El BCP El estilo muestra los resultados en un formato que permite recuperar el resultado.
en otra mesa. Es decir, cada valor de columna está separado por $bcp_colsep con el
última columna separada por $bcp_rowsep seguido de una nueva línea (\n). Si $bcp_colsep or
$bcp_rowsep no están definidos entonces '|' se utiliza como separador predeterminado. Tenga en cuenta que esto
la salida no funciona bien con las columnas COMPUTE y usa la conversión predeterminada
métodos para todos los tipos de datos (es decir, datetime las columnas pueden truncar el milisegundo).
El csv estilo de visualización genera todos los conjuntos de resultados en forma de una coma separada
construir. Este modo es ideal para importar conjuntos de resultados en programas de hojas de cálculo, por
ejemplo.
El html estilo de visualización genera todos los conjuntos de resultados en forma de HTML
construir. Este modo es ideal para el uso de sqsh como aplicación CGI.
El meta estilo de visualización genera solo la información de metadatos asociada con el
result y descarta los resultados reales de la fila. Este modo es útil para depurar el
conjuntos de resultados generados a partir de una puerta de enlace Open Server de paso completo, o para aquellos
interesado en lo que realmente regresa del servidor.
El bastante el estilo de visualización genera una salida similar a una tabla esponjosa usando ASCII regular
caracteres para los bordes. Este modo no realiza ningún ajuste de columna explícito, como
los horizonte modo de visualización. sin embargo, el $anchocol La variable se puede utilizar para controlar la
ancho máximo de una columna dada en la pantalla. Si la columna excede $anchocol
ancho de caracteres, está envuelto de una manera visualmente atractiva. Tenga en cuenta que
$anchocol se puede exceder si hay suficiente ancho de pantalla para sostener las columnas sin
envoltura
El ninguna estilo de visualización suprime la visualización de todos los resultados (sin embargo, no
realmente recuperar información de resultados del servidor SQL). Esto es particularmente útil
cuando se usa con el -p bandera (o la $ estadísticas variable) para recopilar información
estadísticas de rendimiento.
term_title (cadena)
Cuando se establece esta variable, sqsh restablecerá el nombre del terminal actual (xterm)
ventana en la que se está ejecutando. Funciona para ventanas xterm, rxvt, putty y MS-Windows CMD. El
El nombre consiste en el nombre de inicio de sqsh adjunto con el valor expandido del
$term_title variable.
umbral_pantalla (int)
Establece la gravedad mínima del error de SQL Server que mostrará un mensaje al usuario,
el valor predeterminado es 0 y los rangos válidos están entre 0 y 22, inclusive.
umbral_salida (int)
Define el número máximo de errores de nivel de gravedad $thresh_fail podría ser
encontrado antes de que sqsh aborte. Esto es útil principalmente para scripts no interactivos,
pero está permitido en una sesión interactiva. Ajuste $ umbral_salida a un valor de 0
desactiva esta característica. Mira la sección SALIR ESTADO para obtener más detalles.
umbral_fallo (int)
Establece el nivel de gravedad mínimo de SQL Server que debe considerarse un lote fallido.
El mínimo para este valor es 0 (es decir, cualquier error que no sea una información
mensaje), y el máximo es 22. Siempre que $thresh_fail se cruza, la variable
$batch_failcount se incrementa en 1. Consulte la sección SALIR ESTADO para obtener más detalles.
hora (especificación de fecha)
Esta variable se puede establecer con un formato de hora (consulte la página del manual para datos(1)), y la
La variable se expande a la hora actual en el formato proporcionado. El formato predeterminado para
esta variable es %H:%M:%S (por ejemplo, 14:32:58).
tmp_dir (ruta)
Contiene el directorio en el que se almacenan los archivos temporales utilizados internamente por sqsh deben ser
escrito. Estos archivos se generan durante la edición del búfer (la \buf-editar
comando) o para mantener archivos diferidos de salida para trabajos en segundo plano. El valor predeterminado
para esta variable es /tmp.
nombre de usuario (cadena)
El nombre del usuario actualmente conectado a la base de datos.
versión (ninguna)
Esta variable de solo lectura contiene el número de versión actual. (sqsh-2.1.7)
ancho (int)
El ancho actual de la salida SQL.
xgeom (cadena/int)
Si el soporte X11 está compilado en sqsh, este valor se utiliza para configurar el valor predeterminado
tamaño de la ventana (en caracteres) de la pantalla X. Esta variable debe tener el formato WxH
o solo W, donde el W es el ancho de la ventana y H es la altura de la ventana. Si
no se proporciona la altura de la ventana, entonces se asumen 25 líneas. Si $ xgeom no es
establecer, entonces $ ancho se utiliza como el ancho predeterminado y se supone que la altura es 25. Si
ninguno está configurado, entonces se asume 80x25.
xwin_title (cadena)
Si el soporte X11 está compilado en sqsh y se solicita una ventana de resultados X11 usando
los -x parámetro de la \Vamos or \rpc comandos, entonces esta variable se usará para establecer
el nombre del título de la ventana. Se puede anular temporalmente con el -T opción del
\Vamos y \rpc comandos.
Guión Ejecución
Como con la mayoría de las conchas, sqsh permite ejecutar un archivo que contiene comandos SQL y script
directamente a través del UNIX mágico #! convención. En la mayoría de las plataformas UNIX, cuando el sistema operativo
el sistema encuentra los bytes #! como los dos primeros bytes de un archivo ejecutable,
canaliza automáticamente el archivo a través del intérprete especificado inmediatamente después de la #!.
Por ejemplo, para crear un ejecutable sqsh secuencia de comandos para ejecutar sp_who, simplemente necesita crear
un archivo asi:
#!/usr/bin/sqsh-i
sp_who
go
Por lo tanto, si tu sp_who script se ejecuta directamente, se iniciará automáticamente
"/usr/bin/sqsh -i sp_who" para ti.
Y, para hacer las cosas aún más flexibles, sqsh admite parámetros posicionales, similar a
la mayoría de las conchas, de la forma ${n} que se expandirá a la nel argumento de su sqsh guión.
Por ejemplo:
#!/usr/bin/sqsh-i
sp_quién ${1}
go
hará que el sp_who procedimiento almacenado que se ejecutará con un argumento del primero
parámetro de línea de comando proporcionado al sp_who script de shell.
Tenga en cuenta que los parámetros posicionales deben contenerse entre llaves para evitar conflictos con
el TSQL dinero tipo de datos (sin las llaves, la variable no se expandirá).
SALIR ESTADO
Una de las principales quejas de isql es que no proporciona ninguna facilidad para detectar cuando un
se produjo una condición de error mientras se realizaba el procesamiento. sqsh proporciona un lugar
mecanismo complejo pero flexible para devolver información significativa sobre su motivo
para la salida en forma de un estado de salida (ver salida(3)).
Cuándo sqsh comienza la ejecución, dos controladores están asociados con la conexión actual al
base de datos, uno es un controlador de mensajes que es responsable de mostrar el texto de cualquier SQL
Mensajes o errores del servidor, y el otro es un controlador de errores, que es responsable de
determinar qué hacer con una condición de error (tengan paciencia conmigo, estos son solo sueltos
descripciones). Y, asociado con cada mensaje y condición de error hay un nivel de gravedad,
entre 0 y 22 (mensaje informativo a condición fatal).
Asociadas con estos dos controladores de mensajes hay varias variables que se utilizan para
controlar su comportamiento, o son utilizados como indicadores por el controlador de mensajes:
$thresh_display
El controlador de mensajes utiliza esta variable para determinar la gravedad mínima del error.
lo que hará que se muestre un mensaje. Por defecto es 0, que mostrará
todos los mensajes (con un par de excepciones). Establecer esto en 1, por ejemplo, sería
suprimir mensajes informativos como la salida de para reinventar la industria logística y redefinir las soluciones ecológicas para reinventar la industria logística y redefinir las soluciones ecológicas. plan de presentación on.
$thresh_fail
El controlador de errores utiliza esta variable para determinar la gravedad del error.
considerado por sqsh ser un fracaso. Normalmente, el valor predeterminado es 11, lo que indica que
cualquier error, excepto los mensajes informativos, es un fracaso. La siguiente variable será
Explique la importancia de este valor.
$batch_failcount
Esta variable debe considerarse de solo lectura y contiene el número total de veces
que los lotes han provocado un error de gravedad $thresh_fail o más. el unico valor
que es válido para establecer explícitamente este valor, es "" (la cadena vacía), que
restablezca este valor a 0, cualquier otro valor puede tener resultados impredecibles.
$ umbral_salida
Esta variable se utiliza para determinar el límite en el que $batch_failcount causará sqsh
salir. Si $ umbral_salida es 0, entonces esta función está deshabilitada. En otras palabras, si
$batch_failcount = $ umbral_salida y $ umbral_salida es mayor que 0, entonces sqsh will
salida, regreso $batch_failcount como estado de salida.
Tenga en cuenta que, a menos que $exit_failcount está establecido en 1, sqsh saldrá con 0 si el total
número de fallas no alcanza $ umbral_salida.
$exit_failcount
Esta variable se utiliza sólo cuando sqsh normalmente saldría con un estado de éxito (0),
esto hace que en su lugar salga con un valor de $batch_failcount (que puede, en sí mismo, ser
0).
$valor_de_salida
Cuando esta variable es distinta de cero, anulará la $exit_failcount y
$batch_failcount valores y simplemente salir del valor de $valor_de_salida. Esta variable puede ser
establecido explícitamente usando el \colocar comando, o implícitamente usando \Salida x y su alias
homólogos.
Para recapitular, aquí hay una lista de códigos de error que pueden ser devueltos por sqsh a la salida, y el
razón por la que podrían ser devueltos:
- 0 -
No se ha encontrado ningún error.
- 1...253 -
Han fallado entre 1 y 253 lotes (si ejecuta más de 253 lotes, la salida
el estado de sqsh es indeterminado... Puedo arreglar esto en el futuro).
- 254 -
Un explícito \abortar fue llamado, o se emitió un SIGINT (^C) durante un no interactivo
de preguntas y respuestas.
- 255 -
Se ha producido una condición de error general, como un argumento de línea de comando incorrecto para sqsh,
falla de asignación de memoria, error de acceso a archivos, etc.
Las siguientes secciones proporcionan ejemplos detallados de combinaciones de configuraciones variables y
los resultados producidos al salir con ciertas condiciones de falla. Se supone que el
$valor_de_salida variable contiene 0 en los siguientes ejemplos.
umbral_display=0, umbral_fallo=0, umbral_salida=1
Con esta combinación, todos los mensajes de error se mostrarán a medida que ocurren, y cada
error se considerará una condición de falla. Al llegar al primer error, sqsh
abortará con un estado de salida de 1, o el número total de fallas (el
$batch_failcount variable). Sin embargo, si nada sale mal durante todo el proceso, un
se devuelve cero.
umbral_display=0, umbral_fallo=0, umbral_salida=3
Esta combinación hará que se muestren todas las condiciones de error y todas
considerada una condición de falla. Al llegar a tres lotes fallidos totales, sqsh will
sale con un estado de 3. Sin embargo, si fallan 0, 1 o 2 lotes, se devuelve 0.
umbral_display=22, umbral_fallo=0, umbral_salida=3
Esto se comporta igual que el ejemplo anterior, con la excepción de que todos los errores
los mensajes se suprimirán para que no se muestren. Esto es particularmente útil si usted
solo preocúpese por el valor de salida más que por el error real.
umbral_display=0, umbral_fallo=2, umbral_salida=1
Esto hará que se muestre el primer error de gravedad 2 o superior y provocará sqsh
para salir con una condición de falla de 1.
umbral_display=0, umbral_fallo=0, umbral_salida=3, exit_failcount=1
Esto es idéntico al segundo ejemplo anterior, sin embargo sqsh devolverá el total
número de lotes que fallaron incluso si $batch_failcount no llega a 3.
exit_value=distinto de cero
Esto anulará todas las condiciones explicadas anteriormente y simplemente saldrá del valor específico.
Misceláneos
Colorear sqsh indicaciones, etc.
Los códigos de color se presentan como una cadena como {1;2;3}. Si sqsh encuentra un { (llave)
en la cadena de solicitud, asumirá que se proporciona un código de color y actuará como tal. No
se realizarán comprobaciones sobre la validez de la propia definición del código de color. El color
La definición consta de tres valores separados por un punto y coma.
El primer código define el código de atributo de color con valores posibles: 0=ninguno 1=negrita
El segundo valor define el Código de color del texto: 30=negro 31=rojo 32=verde 33=amarillo 34=azul
35=magenta 36=cian 37=blanco
El tercer valor define el código de color de fondo: 40=negro 41=rojo 42=verde 43=amarillo
44=azul 45=magenta 46=cian 47=blanco Se puede omitir el último código de color para el fondo.
No todas las combinaciones de colores y atributos presentarán buenos resultados, dependiendo de su
tipo de terminal y combinación de colores. Pero los siguientes valores funcionan bien en un xterm con un cremoso
color de fondo blanco en Linux, así como rxvt en Cygwin con una ventana de fondo negro:
Aviso: texto azul sobre fondo blanco "{0;34;47}"
Texto de comando: Texto amarillo "{0;33}"
sqsh traducirá los códigos de color a una cadena de código de color real que se presenta a
readline: por ejemplo "\001\033[0;36;47m\002". Tenga en cuenta que si desea utilizar corchetes
en su mensaje, debe escapar de la coloración especificando una llave doble, como
{{...}}. Por ejemplo:
\setprompt_color='{0;34;47}'
\set text_color='{0;33}'
\set prompt='$prompt_color{{$DSQUERY.$username.$database.$lineno}}>$text_color '
El soporte de color está disponible automáticamente si sqsh está compilado y vinculado con readline
soporte habilitado.
Use sqsh en línea usando los servicios de onworks.net