]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
fixes for SIGINT handling in asynchronous lists
authorChet Ramey <chet.ramey@case.edu>
Tue, 17 Jan 2023 18:31:46 +0000 (13:31 -0500)
committerChet Ramey <chet.ramey@case.edu>
Tue, 17 Jan 2023 18:31:46 +0000 (13:31 -0500)
CWRU/CWRU.chlog
builtins/trap.def
execute_cmd.c
lib/readline/input.c
lib/sh/random.c
parse.y
po/pt_BR.gmo
po/pt_BR.po
sig.c
trap.c
trap.h

index 575c9cecffd5a5c94026b4f2a75d1bab6b7c50eb..6e389c07c5764f4f0544af1f201af4d5ef32b24d 100644 (file)
@@ -5005,3 +5005,55 @@ lib/sh/random.c
        - intrand32: use % operator instead of (mathematically equivalent)
          subtraction and multiplication, which can cause signed 32-bit
          overflow. Report from Sam James <sam@gentoo.org>
+
+lib/readline/input.c
+       - rl_getc: if the application hasn't defined a signal event handler,
+         and readline is in callback mode, make sure SIGINT breaks out of
+         operations like incremental and non-incremental searches and digit
+         arguments by calling _rl_abort_internal, since the callback code
+         expects the various contexts that rl_callback_sigcleanup() resets
+         to be valid
+       - rl_getc: if there is a pending signal when we enter the while loop
+         in callback mode, handle it in the same way we would if a signal
+         arrived while we were waiting in select/pselect. That forces
+         callback mode to call _rl_abort_internal in the right place.
+         From a report from Andrew Burgess <aburgess@redhat.com>
+
+                                  1/13
+                                  ----
+trap.c
+       - SIG_ASYNCSIG: new value for sigmodes; means that the signal is
+         ignored because an async command is being executed
+       - set_signal: if the original signal disposition is SIG_IGN only
+         return if SIG_ASYNCSIG isn't set. This implements POSIX interp 751
+         for setting a trap
+       - ignore_signal: if we're ignoring a signal that already has SIG_IGNORED
+         set, make sure we set SIG_TRAPPED in case of SIG_ASYNCSIG (POSIX
+         interp 751)
+       - reset_signal,restore_signal: if we want to reset or restore a signal
+         that has SIG_ASYNCSIG set, make sure we reset to SIG_DFL if the
+         signal is trapped to maintain POSIX semantics
+       - set_signal_async_ignored: new function to set original_signals to
+         SIG_IGN and set the SIG_IGNORED and SIG_ASYNCSIG sigmode flags; used
+         by setup_async_signals
+       - signal_is_async_ignored: return true if the SIG argument is being
+         ignored because it's part of an async list
+
+trap.h
+       - set_signal_async_ignored,signal_is_async_ignored: extern declarations
+
+sig.c
+       - initialize_terminating_signals: if a signal is ignored because it's
+         part of an async list, don't bother trying to initialize or set the
+         hard ignored flag
+
+execute_cmd.c
+       - execute_simple_command: if we're executing a builtin or function
+         asynchronously, call reset_terminating_signals like we do in
+         execute_in_subshell()
+       - execute_subshell_builtin_or_function: only call set_sigint_handler
+         if async is 0, so we don't undo the work done by setup_async_signals.
+         If the old handler is SIG_IGN and the signal has SIG_ASYNCSIG set
+         and isn't trapped, restore the old handler
+       - setup_async_signals: call set_signal_async_ignored to set the right
+         flags
index 4bb254cc2c876fa155ed0a29e1467807e975bbab..5a3d438f109e7ecb7398ec621964b05f389eb646 100644 (file)
@@ -210,7 +210,13 @@ trap_builtin (WORD_LIST *list)
                      {
                      case SIGINT:
                        /* XXX - should we do this if original disposition
-                          was SIG_IGN? */
+                          was SIG_IGN? Yes, because setup_async_signals can
+                          set the original disposition to SIG_IGN to keep
+                          restore_signal from restoring the SIGINT
+                          disposition from when the shell was invoked, and
+                          we want to allow an asynchronous subshell to
+                          use `trap' to restore the default disposition or
+                          set a trap command. */
                        if (interactive)
                          set_signal_handler (SIGINT, sigint_sighandler);
                        /* special cases for interactive == 0 */
index 4b9208f47a25168c1cac144764a247ec9f47ac43..947eb098be3a788aa6e4d7e989db96f7040a2922 100644 (file)
@@ -1480,8 +1480,7 @@ execute_in_subshell (COMMAND *command, int asynchronous, int pipe_in, int pipe_o
 
   /* If a command is asynchronous in a subshell (like ( foo ) & or
      the special case of an asynchronous GROUP command where the
-
-     the subshell bit is turned on down in case cm_group: below),
+     subshell bit is turned on down in case cm_group: below),
      turn off `asynchronous', so that two subshells aren't spawned.
      XXX - asynchronous used to be set to 0 in this block, but that
      means that setup_async_signals was never run.  Now it's set to
@@ -1576,6 +1575,8 @@ execute_in_subshell (COMMAND *command, int asynchronous, int pipe_in, int pipe_o
       asynchronous = 0;
     }
   else
+    /* XXX - restore if old handler is SIG_IGN like we do in
+       execute_subshell_builtin_or_function? */
     set_sigint_handler ();
 
 #if defined (JOB_CONTROL)
@@ -4628,7 +4629,7 @@ run_builtin:
         }
       if (already_forked)
        {
-         /* reset_terminating_signals (); */   /* XXX */
+         reset_terminating_signals (); /* XXX */
          /* Reset the signal handlers in the child, but don't free the
             trap strings.  Set a flag noting that we have to free the
             trap strings if we run trap to change a signal disposition. */
@@ -5266,7 +5267,18 @@ execute_subshell_builtin_or_function (WORD_LIST *words, REDIRECT *redirects,
   without_job_control ();
 #endif /* JOB_CONTROL */
 
-  set_sigint_handler ();
+  /* We don't call set_sigint_handler if async is 1 so we don't undo the work
+     done by setup_async_signals() in the caller. This is similar to what
+     execute_in_subshell() does. */
+  if (async == 0)
+    {
+      SigHandler *handler;
+
+      handler = set_sigint_handler ();
+      if (handler == SIG_IGN && signal_is_async_ignored (SIGINT) &&
+         signal_is_trapped (SIGINT) == 0 && signal_is_hard_ignored (SIGINT) == 0)
+       set_signal_handler (SIGINT, handler);
+    }
 
   if (fds_to_close)
     close_fd_bitmap (fds_to_close);
@@ -5442,19 +5454,26 @@ setup_async_signals (void)
   set_signal_handler (SIGHUP, SIG_IGN);        /* they want csh-like behavior */
 #endif
 
-#if defined (JOB_CONTROL)
   if (job_control == 0)
-#endif
     {
       /* Make sure we get the original signal dispositions now so we don't
         confuse the trap builtin later if the subshell tries to use it to
-        reset SIGINT/SIGQUIT.  Don't call set_signal_ignored; that sets
-        the value of original_signals to SIG_IGN. Posix interpretation 751. */
+        reset SIGINT/SIGQUIT. Don't call set_signal_ignored; we use
+        set_signal_async_ignored to set the value of original_signals to
+        SIG_IGN and set additional flags to satisfy Posix interpretation 751. */
       get_original_signal (SIGINT);
       set_signal_handler (SIGINT, SIG_IGN);
+      /* We use set_signal_async_ignored here to make sure that restore_signal
+        doesn't undo this work. We want processes that are created by this
+        asynchronous subshell to ignore SIGINT as well. We can't set the
+        hard ignored flag because that would prevent the trap builtin from
+        setting a trap. We also have to special-case set_signal so we can
+        set a trap for one of these signals. */
+      set_signal_async_ignored (SIGINT);
 
       get_original_signal (SIGQUIT);
       set_signal_handler (SIGQUIT, SIG_IGN);
+      set_signal_async_ignored (SIGQUIT);
     }
 }
 
index ab12ff6904d7cceaca2ad402b72b01ac20567468..186e0fac7415cb821f6f7c73319f31795fdb8598 100644 (file)
@@ -811,7 +811,7 @@ rl_read_key (void)
 int
 rl_getc (FILE *stream)
 {
-  int result;
+  int result, ostate, osig;
   unsigned char c;
   int fd;
 #if defined (HAVE_PSELECT) || defined (HAVE_SELECT)
@@ -822,8 +822,22 @@ rl_getc (FILE *stream)
   fd = fileno (stream);
   while (1)
     {
+      osig = _rl_caught_signal;
+      ostate = rl_readline_state;
+
       RL_CHECK_SIGNALS ();
 
+#if defined (READLINE_CALLBACKS)
+      /* Do signal handling post-processing here, but just in callback mode
+        for right now because the signal cleanup can change some of the
+        callback state, and we need to either let the application have a
+        chance to react or abort some current operation that gets cleaned
+        up by rl_callback_sigcleanup(). If not, we'll just run through the
+        loop again. */
+      if (osig != 0 && (ostate & RL_STATE_CALLBACK))
+       goto postproc_signal;
+#endif
+
       /* We know at this point that _rl_caught_signal == 0 */
 
 #if defined (__MINGW32__)
@@ -887,6 +901,9 @@ rl_getc (FILE *stream)
 /* fprintf(stderr, "rl_getc: result = %d errno = %d\n", result, errno); */
 
 handle_error:
+      osig = _rl_caught_signal;
+      ostate = rl_readline_state;
+
       /* If the error that we received was EINTR, then try again,
         this is simply an interrupted system call to read ().  We allow
         the read to be interrupted if we caught SIGHUP, SIGTERM, or any
@@ -927,8 +944,17 @@ handle_error:
         RL_CHECK_SIGNALS ();
 #endif  /* SIGALRM */
 
+postproc_signal:
+      /* POSIX says read(2)/pselect(2)/select(2) don't return EINTR for any
+        reason other than being interrupted by a signal, so we can safely
+        call the application's signal event hook. */
       if (rl_signal_event_hook)
        (*rl_signal_event_hook) ();
+#if defined (READLINE_CALLBACKS)
+      else if (osig == SIGINT && (ostate & RL_STATE_CALLBACK) && (ostate & (RL_STATE_ISEARCH|RL_STATE_NSEARCH|RL_STATE_NUMERICARG)))
+        /* just these cases for now */
+        _rl_abort_internal ();
+#endif
     }
 }
 
index 1fcd50e41ad58e7ff5db7f4992e95cdc994df1b4..1faeacae0f9b241a0331f595a4827214f595e6b6 100644 (file)
@@ -59,11 +59,13 @@ intrand32 (u_bits32_t last)
      Park and Miller, Communications of the ACM, vol. 31, no. 10,
      October 1988, p. 1195. Filtered through FreeBSD.
 
-     x(n+1) = 16807 * x(n) mod (m).
+     x(n+1) = 16807 * x(n) mod (m)
+
+     where 16807 == 7^5.
 
      We split up the calculations to avoid overflow.
 
-     h = last / q; l = x - h * q; t = a * l - h * r
+     h = last / q; l = last % q; t = a * l - h * r
      m = 2147483647, a = 16807, q = 127773, r = 2836
 
      There are lots of other combinations of constants to use; look at
diff --git a/parse.y b/parse.y
index 5786e14e6d0737f4d046328764ef7278647a4eaa..14c87c074ede20363a48a376a1c8f20c70895eef 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -37,6 +37,7 @@
 #include <stdio.h>
 #include "chartypes.h"
 #include <signal.h>
+#include <errno.h>
 
 #include "memalloc.h"
 
@@ -2691,8 +2692,15 @@ pop_alias:
   if (uc == 0 && shell_input_line_terminator == EOF)
     return ((shell_input_line_index != 0) ? '\n' : EOF);
   else if (uc == 0 && shell_input_line_terminator == READERR)
-    /* Treat read errors like EOF here. */
-    return ((shell_input_line_index != 0) ? '\n' : EOF);
+    {
+#if defined (FATAL_READERROR)
+      report_error (_("script file read error: %s"), strerror (errno));
+      exit_shell (2);
+#else
+      /* Treat read errors like EOF here. */
+      return ((shell_input_line_index != 0) ? '\n' : EOF);
+#endif
+    }
 
 #if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
   /* We already know that we are not parsing an alias expansion because of the
index 6048f5c982afbdf00c60c2f36f622a9eae01353c..4c968346d17b4f2db53e8b3585ea4a917f3427ed 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 5d0b79dbef00b17cf89eb006780e4ecb64fc936c..eaae6b58db5aeee813d43d497681ad2a186bc133 100644 (file)
@@ -1,24 +1,23 @@
 # Brazilian Portuguese translation for bash
-# Copyright (C) 2021 Free Software Foundation, Inc.
+# Copyright (C) 2023 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 # Halley Pacheco de Oliveira <halleypo@ig.com.br>, 2002.
-# Rafael Fontenelle <rafaelff@gnome.org>, 2015-2021.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2015-2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 5.1\n"
+"Project-Id-Version: bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2022-01-11 14:50-0500\n"
-"PO-Revision-Date: 2021-01-07 10:37-0300\n"
+"PO-Revision-Date: 2023-01-12 14:27-0300\n"
 "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
-"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
-"net>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"X-Generator: Gtranslator 3.38.0\n"
+"X-Generator: Gtranslator 42.0\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
 #: arrayfunc.c:66
@@ -53,8 +52,7 @@ msgstr "%s: impossível criar: %s"
 
 #: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: impossível localizar mapa de teclas para comando"
+msgstr "bash_execute_unix_command: impossível localizar mapa de teclas para comando"
 
 #: bashline.c:4637
 #, c-format
@@ -153,8 +151,7 @@ msgstr ""
 "Retorna o contexto da chamada de sub-rotina atual.\n"
 "    \n"
 "    Sem EXPR, retorna \"$linha $arquivo\".  Com EXPR, retorna\n"
-"    \"$linha $sub-rotina $arquivo\"; essa informação extra pode ser usada "
-"para\n"
+"    \"$linha $sub-rotina $arquivo\"; essa informação extra pode ser usada para\n"
 "    fornecer um rastro da pilha.\n"
 "    \n"
 "    O valor de EXPR indica quantos quadros de chamada deve voltar antes do\n"
@@ -241,9 +238,7 @@ msgstr "%s: especificação de sinal inválida"
 #: builtins/common.c:259
 #, c-format
 msgid "`%s': not a pid or valid job spec"
-msgstr ""
-"`%s': não é um identificador de processo (pid) nem é uma especificação de "
-"trabalho válida"
+msgstr "`%s': não é um identificador de processo (pid) nem é uma especificação de trabalho válida"
 
 #: builtins/common.c:266 error.c:536
 #, c-format
@@ -251,9 +246,9 @@ msgid "%s: readonly variable"
 msgstr "%s: a variável permite somente leitura"
 
 #: builtins/common.c:273
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot assign"
-msgstr "%s: impossível remover definição"
+msgstr "%s: impossível atribuir"
 
 #: builtins/common.c:281
 #, c-format
@@ -549,11 +544,8 @@ msgstr ""
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"nenhum tópico de ajuda corresponde a `%s'.  Tente `help help' ou `man -k %s' "
-"ou `info %s'."
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "nenhum tópico de ajuda corresponde a `%s'.  Tente `help help' ou `man -k %s' ou `info %s'."
 
 #: builtins/help.def:223
 #, c-format
@@ -571,12 +563,10 @@ msgid ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 msgstr ""
-"Esses comandos shell são definidos internamente. Digite `help' para ver "
-"essa\n"
+"Esses comandos shell são definidos internamente. Digite `help' para ver essa\n"
 "lista. Digite `help NOME' para descobrir mais sobre a função `NOME'.\n"
 "Use `info bash' para descobrir mais sobre o shell em geral.\n"
-"Use `man -k' ou `info' para descobrir mais sobre comandos que não estão "
-"nesta\n"
+"Use `man -k' ou `info' para descobrir mais sobre comandos que não estão nesta\n"
 "lista.\n"
 "\n"
 "Um asterisco (*) próximo ao nome significa que o comando está desabilitado.\n"
@@ -731,12 +721,10 @@ msgid ""
 "    \twith its position in the stack\n"
 "    \n"
 "    Arguments:\n"
-"      +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+"      +N\tDisplays the Nth entry counting from the left of the list shown by\n"
 "    \tdirs when invoked without options, starting with zero.\n"
 "    \n"
-"      -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+"      -N\tDisplays the Nth entry counting from the right of the list shown by\n"
 "\tdirs when invoked without options, starting with zero."
 msgstr ""
 "Exibe a lista de diretórios atualmente memorizados. Diretórios são\n"
@@ -855,14 +843,11 @@ msgstr "erro de leitura: %d: %s"
 
 #: builtins/return.def:68
 msgid "can only `return' from a function or sourced script"
-msgstr ""
-"possível retornar (`return') apenas de uma função ou script carregado (com "
-"`source')"
+msgstr "possível retornar (`return') apenas de uma função ou script carregado (com `source')"
 
 #: builtins/set.def:869
 msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
-"impossível simultaneamente remover definição de uma função e uma variável"
+msgstr "impossível simultaneamente remover definição de uma função e uma variável"
 
 #: builtins/set.def:969
 #, c-format
@@ -885,8 +870,7 @@ msgstr "número de shift"
 
 #: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
-msgstr ""
-"impossível simultaneamente definir e remover definição de opções do shell"
+msgstr "impossível simultaneamente definir e remover definição de opções do shell"
 
 #: builtins/shopt.def:444
 #, c-format
@@ -1004,9 +988,9 @@ msgid "INFORM: "
 msgstr "INFORM: "
 
 #: error.c:310
-#, fuzzy, c-format
+#, c-format
 msgid "DEBUG warning: "
-msgstr "aviso: "
+msgstr "DEBUG aviso: "
 
 #: error.c:488
 msgid "unknown command error"
@@ -1031,9 +1015,7 @@ msgstr "%s: variável não associada"
 
 #: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
-msgstr ""
-"\atempo limite de espera excedido aguardando entrada: fim automático da "
-"sessão\n"
+msgstr "\atempo limite de espera excedido aguardando entrada: fim automático da sessão\n"
 
 #: execute_cmd.c:555
 #, c-format
@@ -1085,9 +1067,9 @@ msgid "%s: %s"
 msgstr "%s: %s"
 
 #: execute_cmd.c:5975
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot execute: required file not found"
-msgstr "%s: impossível executar o arquivo binário"
+msgstr "%s: impossível: o arquivo requerido não encontrado"
 
 #: execute_cmd.c:6000
 #, c-format
@@ -1190,21 +1172,17 @@ msgstr "getcwd: impossível acessar os diretórios pais (anteriores)"
 #: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
-msgstr ""
-"impossível redefinir modo `nodelay' para o descritor de arquivo (fd) %d"
+msgstr "impossível redefinir modo `nodelay' para o descritor de arquivo (fd) %d"
 
 #: input.c:266
 #, c-format
 msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"impossível alocar novo descritor de arquivo (fd) para a entrada do `bash' a "
-"partir do fd %d"
+msgstr "impossível alocar novo descritor de arquivo (fd) para a entrada do `bash' a partir do fd %d"
 
 #: input.c:274
 #, c-format
 msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-"save_bash_input: buffer já existe para o novo descritor de arquivo (fd) %d"
+msgstr "save_bash_input: buffer já existe para o novo descritor de arquivo (fd) %d"
 
 #: jobs.c:543
 msgid "start_pipeline: pgrp pipe"
@@ -1223,9 +1201,7 @@ msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 #: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
-msgstr ""
-"identificador de processo (pid) %d bifurcado (fork) aparece no trabalho em "
-"execução %d"
+msgstr "identificador de processo (pid) %d bifurcado (fork) aparece no trabalho em execução %d"
 
 #: jobs.c:1397
 #, c-format
@@ -1517,8 +1493,7 @@ msgstr "make_here_document: tipo da instrução incorreto %d"
 #: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"here-document na linha %d delimitado pelo fim do arquivo (desejava `%s')"
+msgstr "here-document na linha %d delimitado pelo fim do arquivo (desejava `%s')"
 
 #: make_cmd.c:769
 #, c-format
@@ -1527,11 +1502,8 @@ msgstr "make_redirection: instrução de redirecionamento `%d' fora do limite"
 
 #: parse.y:2428
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc: shell_input_line_size (%zu) excede SIZE_MAX (%lu): linha truncada"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) excede SIZE_MAX (%lu): linha truncada"
 
 #: parse.y:2921
 msgid "maximum here-document count exceeded"
@@ -1784,15 +1756,12 @@ msgstr "\t-%s ou -o opção\n"
 #: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Digite `%s -c \"help set\"' para mais informações sobre as opções do shell.\n"
+msgstr "Digite `%s -c \"help set\"' para mais informações sobre as opções do shell.\n"
 
 #: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"Digite `%s -c help' para mais informações sobre os comandos internos do "
-"shell.\n"
+msgstr "Digite `%s -c help' para mais informações sobre os comandos internos do shell.\n"
 
 #: shell.c:2096
 #, c-format
@@ -2026,9 +1995,7 @@ msgstr "impossível criar um processo filho para substituição do comando"
 
 #: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute: impossível duplicar o `pipe' como descritor de arquivo "
-"(fd) 1"
+msgstr "command_substitute: impossível duplicar o `pipe' como descritor de arquivo (fd) 1"
 
 #: subst.c:7082 subst.c:10252
 #, c-format
@@ -2071,11 +2038,8 @@ msgid "$%s: cannot assign in this way"
 msgstr "$%s: impossível atribuir desta maneira"
 
 #: subst.c:10111
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"versões futuras do shell vão forçar avaliação como um substituto aritmético"
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "versões futuras do shell vão forçar avaliação como um substituto aritmético"
 
 #: subst.c:10795
 #, c-format
@@ -2131,8 +2095,7 @@ msgstr "número de sinal inválido"
 #: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr ""
-"manipulador de trap: excedido o nível máximo de manipulador de captura (%d)"
+msgstr "manipulador de trap: excedido o nível máximo de manipulador de captura (%d)"
 
 #: trap.c:412
 #, c-format
@@ -2141,11 +2104,8 @@ msgstr "run_pending_traps: valor incorreto em trap_list[%d]: %p"
 
 #: trap.c:416
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: manipulador de sinal é SIG_DFL, enviando novamente %d "
-"(%s) para mim mesmo"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: manipulador de sinal é SIG_DFL, enviando novamente %d (%s) para mim mesmo"
 
 #: trap.c:509
 #, c-format
@@ -2174,7 +2134,7 @@ msgstr "%s: a variável pode não ter um valor atribuído"
 #: variables.c:2818 variables.c:2874
 #, c-format
 msgid "%s: cannot inherit value from incompatible type"
-msgstr ""
+msgstr "%s: impossível herdar valor de tipo incompatível"
 
 #: variables.c:3459
 #, c-format
@@ -2212,8 +2172,7 @@ msgstr "pop_var_context: nenhum contexto em no global_variables"
 
 #: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: cabeça de shell_variables não é um escopo de ambiente temporário"
+msgstr "pop_scope: cabeça de shell_variables não é um escopo de ambiente temporário"
 
 #: variables.c:6400
 #, c-format
@@ -2231,17 +2190,12 @@ msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: valor de compatibilidade fora dos limites"
 
 #: version.c:46 version2.c:46
-#, fuzzy
 msgid "Copyright (C) 2022 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2020 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
 #: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
-"html>.\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Licença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl.html>.\n"
 
 #: version.c:86 version2.c:86
 #, c-format
@@ -2285,13 +2239,8 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] nome [nome ...]"
 
 #: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m mapa-teclas] [-f arquivo] [-q nome] [-u nome] [-r seq-"
-"teclas]  [-x seq-teclas:comando-shell] [seq-teclas:função-de-readline ou "
-"comando-readline]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m mapa-teclas] [-f arquivo] [-q nome] [-u nome] [-r seq-teclas]  [-x seq-teclas:comando-shell] [seq-teclas:função-de-readline ou comando-readline]"
 
 #: builtins.c:56
 msgid "break [n]"
@@ -2322,18 +2271,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] COMANDO [ARG ...]"
 
 #: builtins.c:78
-#, fuzzy
-msgid ""
-"declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] "
-"[name ...]"
-msgstr "declare [-aAfFgiIlnrtux] [-p] [nome[=valor] ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [NOME[=VALOR] ...] ou declare -p [-aAfFilnrtux] [NOME ...]"
 
 #: builtins.c:80
-#, fuzzy
-msgid ""
-"typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] "
-"[name ...]"
-msgstr "typeset [-aAfFgiIlnrtux] [-p] nome[=valor] ..."
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] nome[=valor] ... ou typeset -p [-aAfFilnrtux] [nome ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2373,8 +2316,7 @@ msgstr "logout [n]"
 
 #: builtins.c:105
 msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr ""
-"fc [-e EDITOR] [-lnr] [PRIMEIRO] [ÚLTIMO] ou fc -s [ANTIGO=NOVO] [COMANDO]"
+msgstr "fc [-e EDITOR] [-lnr] [PRIMEIRO] [ÚLTIMO] ou fc -s [ANTIGO=NOVO] [COMANDO]"
 
 #: builtins.c:109
 msgid "fg [job_spec]"
@@ -2393,12 +2335,8 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [PADRÃO ...]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d POSIÇÃO] [n] ou history -anrw [ARQUIVO] ou history -ps ARG "
-"[ARG...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d POSIÇÃO] [n] ou history -anrw [ARQUIVO] ou history -ps ARG [ARG...]"
 
 #: builtins.c:127
 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2409,33 +2347,24 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [ESPEC-JOB ... | pid ...]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s SIGSPEC | -n SIGNUM | -SIGSPEC] PID | ESPEC-JOB ... ou kill -l "
-"[SIGSPEC]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s SIGSPEC | -n SIGNUM | -SIGSPEC] PID | ESPEC-JOB ... ou kill -l [SIGSPEC]"
 
 #: builtins.c:136
 msgid "let arg [arg ...]"
 msgstr "let ARG [ARG ...]"
 
 #: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
-msgstr ""
-"read [-ers] [-a ARRAY] [-d DELIM] [-i TEXTO] [-n NCHARS] [-N NCHARS] [-p "
-"CONFIRMAR ] [-t TEMPO] [-u FD] [NOME ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a ARRAY] [-d DELIM] [-i TEXTO] [-n NCHARS] [-N NCHARS] [-p CONFIRMAR ] [-t TEMPO] [-u FD] [NOME ...]"
 
 #: builtins.c:140
 msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:142
-#, fuzzy
 msgid "set [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [-] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o NOME-OPÇÃO] [--] [ARG ...]"
+msgstr "set [-abefhkmnptuvxBCEHPT] [-o OPÇÃO-NOME] [--] [-] [arg ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
@@ -2482,9 +2411,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-apt] nome [nome ...]"
 
 #: builtins.c:171
-#, fuzzy
 msgid "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limit]"
-msgstr "ulimit [-SHabcdefiklmnpqrstuvxPT] [limite]"
+msgstr "ulimit [-SHabcdefiklmnpqrstuvxPRT] [limite]"
 
 #: builtins.c:174
 msgid "umask [-p] [-S] [mode]"
@@ -2519,22 +2447,16 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case PALAVRA in [PADRÃO [| PADRÃO]...) COMANDOS ;;]... esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if COMANDOS; then COMANDOS; [ elif COMANDOS; then COMANDOS; ]... [ else "
-"COMANDOS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if COMANDOS; then COMANDOS; [ elif COMANDOS; then COMANDOS; ]... [ else COMANDOS; ] fi"
 
 #: builtins.c:196
-#, fuzzy
 msgid "while COMMANDS; do COMMANDS-2; done"
-msgstr "while COMANDOS; do COMANDOS; done"
+msgstr "while COMANDOS; do COMANDOS-2; done"
 
 #: builtins.c:198
-#, fuzzy
 msgid "until COMMANDS; do COMMANDS-2; done"
-msgstr "until COMANDOS; do COMANDOS; done"
+msgstr "until COMANDOS; do COMANDOS-2; done"
 
 #: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
@@ -2586,43 +2508,24 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v var] formato [argumentos]"
 
 #: builtins.c:231
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
-msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o opção] [-A ação] [-G global] [-W "
-"lista-palavras]  [-F função] [-C comando] [-X filtro] [-P prefixo] [-S "
-"sufixo] [nome ...]"
+msgid "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
+msgstr "complete [-abcdefgjksuv] [-pr] [-DEI] [-o opção] [-A ação] [-G global] [-W lista-palavras]  [-F função] [-C comando] [-X filtro] [-P prefixo] [-S sufixo] [nome ...]"
 
 #: builtins.c:235
-msgid ""
-"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-"
-"F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
-msgstr ""
-"compgen [-abcdefgjksuv] [-o opção] [-A ação] [-G global] [-W lista-"
-"palavras]  [-F função] [-C comando] [-X filtro] [-P prefixo] [-S sufixo] "
-"[palavra]"
+msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr "compgen [-abcdefgjksuv] [-o opção] [-A ação] [-G global] [-W lista-palavras]  [-F função] [-C comando] [-X filtro] [-P prefixo] [-S sufixo] [palavra]"
 
 #: builtins.c:239
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
 msgstr "compopt [-o|+o opção] [-DEI] [nome ...]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d delim] [-n número] [-O origem] [-s número] [-t] [-u fd] [-C "
-"chamada] [-c quantidade] [array]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d delim] [-n número] [-O origem] [-s número] [-t] [-u fd] [-C chamada] [-c quantidade] [array]"
 
 #: builtins.c:244
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-d delim] [-n número] [-O origem] [-s número] [-t] [-u fd] [-C "
-"chamada] [-c quantidade] [array]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-d delim] [-n número] [-O origem] [-s número] [-t] [-u fd] [-C chamada] [-c quantidade] [array]"
 
 # help alias
 #: builtins.c:256
@@ -2640,8 +2543,7 @@ msgid ""
 "      -p\tprint all defined aliases in a reusable format\n"
 "    \n"
 "    Exit Status:\n"
-"    alias returns true unless a NAME is supplied for which no alias has "
-"been\n"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
 "    defined."
 msgstr ""
 "Define ou exibe apelidos (aliases).\n"
@@ -2690,30 +2592,25 @@ msgid ""
 "    Options:\n"
 "      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
 "                         command.  Acceptable keymap names are emacs,\n"
-"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
 "                         vi-command, and vi-insert.\n"
 "      -l                 List names of functions.\n"
 "      -P                 List function names and bindings.\n"
 "      -p                 List functions and bindings in a form that can be\n"
 "                         reused as input.\n"
-"      -S                 List key sequences that invoke macros and their "
-"values\n"
-"      -s                 List key sequences that invoke macros and their "
-"values\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
 "                         in a form that can be reused as input.\n"
 "      -V                 List variable names and values\n"
 "      -v                 List variable names and values in a form that can\n"
 "                         be reused as input.\n"
 "      -q  function-name  Query about which keys invoke the named function.\n"
-"      -u  function-name  Unbind all keys which are bound to the named "
-"function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
 "      -r  keyseq         Remove the binding for KEYSEQ.\n"
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
-"      -X                 List key sequences bound with -x and associated "
-"commands\n"
+"      -X                 List key sequences bound with -x and associated commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
@@ -2733,33 +2630,24 @@ msgstr ""
 "                         vi, vi-move, vi-command e vi-insert.\n"
 "      -l                 Lista nomes de funções.\n"
 "      -P                 Lista nomes e associações de função.\n"
-"      -p                 Lista funções e associações em uma forma que pode "
-"ser\n"
+"      -p                 Lista funções e associações em uma forma que pode ser\n"
 "                         usada como entrada.\n"
-"      -S                 Lista sequências de teclas que chamam macros e "
-"seus\n"
+"      -S                 Lista sequências de teclas que chamam macros e seus\n"
 "                         valores\n"
-"      -s                 Lista sequências de teclas que chamam macros e "
-"seus\n"
-"                         valores em uma forma que pode ser usada como "
-"entrada.\n"
+"      -s                 Lista sequências de teclas que chamam macros e seus\n"
+"                         valores em uma forma que pode ser usada como entrada.\n"
 "      -V                 Lista nomes e valores de variáveis\n"
-"      -v                 Lista nomes e valores de variáveis em uma forma "
-"que\n"
+"      -v                 Lista nomes e valores de variáveis em uma forma que\n"
 "                         pode ser usada como entrada.\n"
-"      -q  nome-função    Consulta sobre quais teclas chamam a função "
-"informada.\n"
-"      -u  nome-função    Desassocia todas teclas que estão associadas à "
-"função\n"
+"      -q  nome-função    Consulta sobre quais teclas chamam a função informada.\n"
+"      -u  nome-função    Desassocia todas teclas que estão associadas à função\n"
 "                         informada.\n"
 "      -r  seq-teclas     Remove a associação para SEQ-TECLAS.\n"
 "      -f  arquivo        Lê associações de tecla de ARQUIVO.\n"
 "      -x  seq-teclas:comando-shell\n"
-"                         Faz com que COMANDO-SHELL seja executado ao "
-"inserir\n"
+"                         Faz com que COMANDO-SHELL seja executado ao inserir\n"
 "                         SEQ-TECLAS.\n"
-"      -X                 Lista sequência de teclas associadas com -x e "
-"comandos\n"
+"      -X                 Lista sequência de teclas associadas com -x e comandos\n"
 "                         associados em uma forma que pode ser usada como\n"
 "                         entrada.\n"
 "    \n"
@@ -2813,8 +2701,7 @@ msgid ""
 "    \n"
 "    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
 "    lookup.  This is useful when you wish to reimplement a shell builtin\n"
-"    as a shell function, but need to execute the builtin within the "
-"function.\n"
+"    as a shell function, but need to execute the builtin within the function.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2850,8 +2737,7 @@ msgstr ""
 "Retorna o contexto da chamada de sub-rotina atual.\n"
 "    \n"
 "    Sem EXPR, retorna \"$linha $arquivo\".  Com EXPR, retorna\n"
-"    \"$linha $sub-rotina $arquivo\"; essa informação extra pode ser usada "
-"para\n"
+"    \"$linha $sub-rotina $arquivo\"; essa informação extra pode ser usada para\n"
 "    fornecer um rastro da pilha.\n"
 "    \n"
 "    O valor de EXPR indica quantos quadros de chamada deve voltar antes do\n"
@@ -2866,22 +2752,16 @@ msgstr ""
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
 "    HOME shell variable.\n"
 "    \n"
-"    The variable CDPATH defines the search path for the directory "
-"containing\n"
-"    DIR.  Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-"    A null directory name is the same as the current directory.  If DIR "
-"begins\n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
 "    with a slash (/), then CDPATH is not used.\n"
 "    \n"
-"    If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-"    the word is assumed to be  a variable name.  If that variable has a "
-"value,\n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
@@ -2897,13 +2777,11 @@ msgid ""
 "    \t\tattributes as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
-"    `..' is processed by removing the immediately previous pathname "
-"component\n"
+"    `..' is processed by removing the immediately previous pathname component\n"
 "    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
 "    -P is used; non-zero otherwise."
 msgstr ""
 "Altera o diretório de trabalho do shell.\n"
@@ -2911,20 +2789,17 @@ msgstr ""
 "    Altera o diretório atual para DIR, sendo o padrão de DIR o mesmo valor\n"
 "    da variável HOME.\n"
 "    \n"
-"    A variável CDPATH define o caminho de pesquisa para o diretório "
-"contendo\n"
+"    A variável CDPATH define o caminho de pesquisa para o diretório contendo\n"
 "    DIR. Nomes de diretórios alternativos em CDPATH são separados por\n"
 "    dois-pontos (:). Um nome de diretório nulo é o mesmo que o diretório\n"
 "    atual. Se DIR inicia com uma barra (/), então CDPATH não é usada.\n"
 "    \n"
-"    Se o diretório não for encontrado e a opção `cdable_vars` estiver "
-"definida\n"
+"    Se o diretório não for encontrado e a opção `cdable_vars` estiver definida\n"
 "    no shell, a palavra é presumida como sendo o nome de uma variável. Se\n"
 "    tal variável possuir um valor, este valor é usado para DIR.\n"
 "    \n"
 "    Opções:\n"
-"      -L\tforça links simbólicos a serem seguidos: resolver links "
-"simbólicos\n"
+"      -L\tforça links simbólicos a serem seguidos: resolver links simbólicos\n"
 "      \t\tem DIR após processar instâncias de `..'\n"
 "      -P\tusa a estrutura do diretório físico sem seguir links\n"
 "    \t\tsimbólicos: resolve links simbólicos em DIR antes de processar\n"
@@ -2935,15 +2810,12 @@ msgstr ""
 "    \t\tatributos estendidos como um diretório contendo os atributos de\n"
 "    \t\tarquivo\n"
 "    \n"
-"    O padrão é seguir links simbólicos, como se `-L' tivesse sido "
-"especificada.\n"
-"    `..' é processada removendo o componente de caminho imediatamente "
-"anterior\n"
+"    O padrão é seguir links simbólicos, como se `-L' tivesse sido especificada.\n"
+"    `..' é processada removendo o componente de caminho imediatamente anterior\n"
 "    de volta para uma barra ou para o início de DIR.\n"
 "    \n"
 "    Status de saída:\n"
-"    Retorna 0, se o diretório tiver sido alterado e se $PWD está definida "
-"com\n"
+"    Retorna 0, se o diretório tiver sido alterado e se $PWD está definida com\n"
 "    sucesso quando a opção -P for usada; do contrário, retorna não-zero."
 
 # help pwd
@@ -3024,8 +2896,7 @@ msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
 "    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
-"    information about the specified COMMANDs.  Can be used to invoke "
-"commands\n"
+"    information about the specified COMMANDs.  Can be used to invoke commands\n"
 "    on disk when a function with the same name exists.\n"
 "    \n"
 "    Options:\n"
@@ -3087,8 +2958,7 @@ msgid ""
 "    Variables with the integer attribute have arithmetic evaluation (see\n"
 "    the `let' command) performed when the variable is assigned a value.\n"
 "    \n"
-"    When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3097,8 +2967,7 @@ msgid ""
 msgstr ""
 "Define valores e atributos de variável.\n"
 "    \n"
-"    Declara variáveis e a elas fornece atributos. Se nenhum NOME for "
-"fornecido,\n"
+"    Declara variáveis e a elas fornece atributos. Se nenhum NOME for fornecido,\n"
 "    exibe os atributos e valores de todas as variáveis.\n"
 "    \n"
 "    Opções:\n"
@@ -3113,13 +2982,11 @@ msgstr ""
 "      -a\tpara fazer NOMEs serem arrrays indexados (se houver suporte)\n"
 "      -A\tpara fazer NOMEs serem arrrays associativos (se houver suporte)\n"
 "      -i\tpara fazer NOMEs terem o atributo `integer'\n"
-"      -l\tpara converter o valor de cada NOME para minúsculo em sua "
-"atribuição\n"
+"      -l\tpara converter o valor de cada NOME para minúsculo em sua atribuição\n"
 "      -n\tfazer de NOME uma referência à variável chamada por seu valor\n"
 "      -r\tpara fazer de NOMEs somente leitura\n"
 "      -t\tpara fazer NOMEs terem o atributo `trace'\n"
-"      -u\tpara converter o valor de cada NOME para maiúsculo em sua "
-"atribuição\n"
+"      -u\tpara converter o valor de cada NOME para maiúsculo em sua atribuição\n"
 "      -x\tpra fazer NOMEs exportar\n"
 "    \n"
 "    Usar `+' ao invés de `-' desliga o atributo dado.\n"
@@ -3164,8 +3031,7 @@ msgstr ""
 "    Cria uma variável local chamada NOME e lhe dá VALOR. OPÇÃO pode ser\n"
 "    qualquer opção aceita pelo `declare'.\n"
 "    \n"
-"    Variáveis locais podem ser usadas apenas em uma função; elas são "
-"visíveis\n"
+"    Variáveis locais podem ser usadas apenas em uma função; elas são visíveis\n"
 "    apenas para a função na qual elas foram definidas, bem como para seus\n"
 "    filhos.\n"
 "    \n"
@@ -3179,8 +3045,7 @@ msgstr ""
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
-"    Display the ARGs, separated by a single space character and followed by "
-"a\n"
+"    Display the ARGs, separated by a single space character and followed by a\n"
 "    newline, on the standard output.\n"
 "    \n"
 "    Options:\n"
@@ -3204,11 +3069,9 @@ msgid ""
 "    \t\t0 to 3 octal digits\n"
 "      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
 "    \t\tcan be one or two hex digits\n"
-"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value "
-"HHHH.\n"
+"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value HHHH.\n"
 "    \t\tHHHH can be one to four hex digits.\n"
-"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal "
-"value\n"
+"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal value\n"
 "    \t\tHHHHHHHH. HHHHHHHH can be one to eight hex digits.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3330,8 +3193,7 @@ msgstr ""
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
-"    Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+"    Combine ARGs into a single string, use the result as input to the shell,\n"
 "    and execute the resulting commands.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3432,8 +3294,7 @@ msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
 "    Execute COMMAND, replacing this shell with the specified program.\n"
-"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
-"specified,\n"
+"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,\n"
 "    any redirections take effect in the current shell.\n"
 "    \n"
 "    Options:\n"
@@ -3441,13 +3302,11 @@ msgid ""
 "      -c\texecute COMMAND with an empty environment\n"
 "      -l\tplace a dash in the zeroth argument to COMMAND\n"
 "    \n"
-"    If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+"    If the command cannot be executed, a non-interactive shell exits, unless\n"
 "    the shell option `execfail' is set.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+"    Returns success unless COMMAND is not found or a redirection error occurs."
 msgstr ""
 "Substitui o shell com o comando fornecido.\n"
 "    \n"
@@ -3486,8 +3345,7 @@ msgstr ""
 msgid ""
 "Exit a login shell.\n"
 "    \n"
-"    Exits a login shell with exit status N.  Returns an error if not "
-"executed\n"
+"    Exits a login shell with exit status N.  Returns an error if not executed\n"
 "    in a login shell."
 msgstr ""
 "Sai de um shell de login.\n"
@@ -3500,15 +3358,13 @@ msgstr ""
 msgid ""
 "Display or execute commands from the history list.\n"
 "    \n"
-"    fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+"    fc is used to list or edit and re-execute commands from the history list.\n"
 "    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
 "    string, which means the most recent command beginning with that\n"
 "    string.\n"
 "    \n"
 "    Options:\n"
-"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then "
-"EDITOR,\n"
+"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then EDITOR,\n"
 "    \t\tthen vi\n"
 "      -l \tlist lines instead of editing\n"
 "      -n\tomit line numbers when listing\n"
@@ -3522,14 +3378,12 @@ msgid ""
 "    the last command.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success or status of executed command; non-zero if an error "
-"occurs."
+"    Returns success or status of executed command; non-zero if an error occurs."
 msgstr ""
 "Exibe ou executa comandos da lista do histórico.\n"
 "    \n"
 "    fc é usado para listar ou editar e re-executar comandos da lista de\n"
-"    histórico. PRIMEIRO e ÚLTIMO podem ser números especificando o "
-"intervalo\n"
+"    histórico. PRIMEIRO e ÚLTIMO podem ser números especificando o intervalo\n"
 "    ou PRIMEIRO pode ser uma string, o que significa o comando mais recente\n"
 "    iniciando com aquela string.\n"
 "    \n"
@@ -3570,18 +3424,15 @@ msgstr ""
 "    a noção do shell de trabalho atual é usada.\n"
 "    \n"
 "    Status de saída:\n"
-"    Status do comando colocado em primeiro plano ou falha, se ocorrer um "
-"erro."
+"    Status do comando colocado em primeiro plano ou falha, se ocorrer um erro."
 
 # help bg
 #: builtins.c:779
 msgid ""
 "Move jobs to the background.\n"
 "    \n"
-"    Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-"    had been started with `&'.  If JOB_SPEC is not present, the shell's "
-"notion\n"
+"    Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+"    had been started with `&'.  If JOB_SPEC is not present, the shell's notion\n"
 "    of the current job is used.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3603,8 +3454,7 @@ msgid ""
 "Remember or display program locations.\n"
 "    \n"
 "    Determine and remember the full pathname of each command NAME.  If\n"
-"    no arguments are given, information about remembered commands is "
-"displayed.\n"
+"    no arguments are given, information about remembered commands is displayed.\n"
 "    \n"
 "    Options:\n"
 "      -d\tforget the remembered location of each NAME\n"
@@ -3623,8 +3473,7 @@ msgid ""
 msgstr ""
 "Memoriza ou exibe localizações de programas.\n"
 "    \n"
-"    Determina e memoriza do caminho completo de cada comando NOME. Se "
-"nenhum\n"
+"    Determina e memoriza do caminho completo de cada comando NOME. Se nenhum\n"
 "    argumento for fornecido, exibe informação sobre comandos memorizados.\n"
 "    \n"
 "    Opções:\n"
@@ -3662,8 +3511,7 @@ msgid ""
 "      PATTERN\tPattern specifying a help topic\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless PATTERN is not found or an invalid option is "
-"given."
+"    Returns success unless PATTERN is not found or an invalid option is given."
 msgstr ""
 "Exibe informação sobre comandos internos (builtin).\n"
 "    \n"
@@ -3712,8 +3560,7 @@ msgid ""
 "    \n"
 "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
 "    as a format string for strftime(3) to print the time stamp associated\n"
-"    with each displayed history entry.  No time stamps are printed "
-"otherwise.\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
@@ -3726,8 +3573,7 @@ msgstr ""
 "    \n"
 "    Opções:\n"
 "      -c\t\tlimpa a lista de histórico ao excluir todas as entradas\n"
-"      -d posição\texclui a entrada de histórico na posição POSIÇÃO. "
-"Posições\n"
+"      -d posição\texclui a entrada de histórico na posição POSIÇÃO. Posições\n"
 "    \t\t\tnegativas contam a partir do fim da lista de histórico\n"
 "    \n"
 "      -a\t\tanexa linhas de histórico desta sessão no arquivo de\n"
@@ -3886,8 +3732,7 @@ msgid ""
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3966,23 +3811,18 @@ msgstr ""
 
 # help read
 #: builtins.c:994
-#, fuzzy
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
 "    \n"
 "    Reads a single line from the standard input, or from file descriptor FD\n"
-"    if the -u option is supplied.  The line is split into fields as with "
-"word\n"
+"    if the -u option is supplied.  The line is split into fields as with word\n"
 "    splitting, and the first word is assigned to the first NAME, the second\n"
 "    word to the second NAME, and so on, with any leftover words assigned to\n"
-"    the last NAME.  Only the characters found in $IFS are recognized as "
-"word\n"
-"    delimiters. By default, the backslash character escapes delimiter "
-"characters\n"
+"    the last NAME.  Only the characters found in $IFS are recognized as word\n"
+"    delimiters. By default, the backslash character escapes delimiter characters\n"
 "    and newline.\n"
 "    \n"
-"    If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+"    If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
 "    \n"
 "    Options:\n"
 "      -a array\tassign the words read to sequential indices of the array\n"
@@ -3994,8 +3834,7 @@ msgid ""
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -4013,22 +3852,19 @@ msgid ""
 "      -u fd\tread from file descriptor FD instead of the standard input\n"
 "    \n"
 "    Exit Status:\n"
-"    The return code is zero, unless end-of-file is encountered, read times "
-"out\n"
-"    (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+"    The return code is zero, unless end-of-file is encountered, read times out\n"
+"    (in which case it's greater than 128), a variable assignment error occurs,\n"
 "    or an invalid file descriptor is supplied as the argument to -u."
 msgstr ""
 "Lê uma linha da entrada padrão e separa em campos.\n"
 "\n"
 "    Lê uma linha da entrada padrão ou do descritor de arquivo FD, caso a\n"
-"    opção -u seja fornecida. A linha é separada em campos, na mesma forma "
-"de\n"
-"    separação de palavras, e a primeira palavra é atribuída ao primeiro "
-"NOME,\n"
+"    opção -u seja fornecida. A linha é separada em campos, na mesma forma de\n"
+"    separação de palavras, e a primeira palavra é atribuída ao primeiro NOME,\n"
 "    o segundo ao segundo NOME e por aí vai, com qualquer palavras restantes\n"
 "    atribuídas para o último NOME. Apenas os caracteres encontrados em $IFS\n"
-"    são reconhecidos como delimitadores de palavras.\n"
+"    são reconhecidos como delimitadores de palavras. Por padrão, o caractere\n"
+"    de barra invertida escapa caracteres delimitadores e de nova linha.\n"
 "    \n"
 "    Se nenhum NOME for fornecido, a linha lida é armazenada na variável\n"
 "    REPLY (resposta).\n"
@@ -4041,36 +3877,29 @@ msgstr ""
 "      -e            usa Readline para obter a linha\n"
 "      -i texto      usa TEXTO como o texto inicial para Readline\n"
 "      -n nchars     retorna após ler NCHARS caracteres, ao invés de esperar\n"
-"                    por uma nova linha, mas respeita um delimitador se "
-"número\n"
+"                    por uma nova linha, mas respeita um delimitador se número\n"
 "                    de caracteres menor que NCHARS sejam lidos antes do\n"
 "                    delimitador\n"
 "      -N nchars     retorna apenas após ler exatamente NCHARS caracteres, a\n"
-"                    menos que EOF (fim do arquivo) seja encontrado ou "
-"`read'\n"
+"                    menos que EOF (fim do arquivo) seja encontrado ou `read'\n"
 "                    esgote o tempo limite, ignorando qualquer delimitador\n"
 "      -p prompt     mostra a string PROMPT sem remover nova linha antes de\n"
 "                    tentar ler\n"
-"      -r            não mostra barra invertida para escapar quaisquer\n"
+"      -r            não permite que barra invertida escape quaisquer\n"
 "                    caracteres\n"
 "      -s            não ecoa entrada vindo de um terminal\n"
 "      -t tempo      esgota-se o tempo limite e retorna falha, caso uma toda\n"
 "                    uma linha não seja lida em TEMPO segundos. O valor da\n"
-"                    variável TMOUT é o tempo limite padrão. TEMPO pode ser "
-"um\n"
-"                    número fracionado. SE TEMPO for 0, `read' retorna "
-"sucesso\n"
+"                    variável TMOUT é o tempo limite padrão. TEMPO pode ser um\n"
+"                    número fracionado. SE TEMPO for 0, `read' retorna sucesso\n"
 "                    apenas se a entrada estiver disponível no descritor de\n"
-"                    arquivo especificado. O status de saída é maior que "
-"128,\n"
+"                    arquivo especificado. O status de saída é maior que 128,\n"
 "                    se o tempo limite for excedido\n"
-"      -u fd         lê do descritor de arquivo FD, ao invés da entrada "
-"padrão\n"
+"      -u fd         lê do descritor de arquivo FD, ao invés da entrada padrão\n"
 "    \n"
 "    Status de saída:\n"
 "    O código de retorno é zero, a menos que o EOF (fim do arquivo) seja\n"
-"    encontrado, `read' esgote o tempo limite (caso em que o código de "
-"retorno\n"
+"    encontrado, `read' esgote o tempo limite (caso em que o código de retorno\n"
 "    será 128), ocorra erro de atribuição de uma variável ou um descritor de\n"
 "    arquivo inválido seja fornecido como argumento para -u."
 
@@ -4140,8 +3969,7 @@ msgid ""
 "              physical     same as -P\n"
 "              pipefail     the return value of a pipeline is the status of\n"
 "                           the last command to exit with a non-zero status,\n"
-"                           or zero if no command exited with a non-zero "
-"status\n"
+"                           or zero if no command exited with a non-zero status\n"
 "              posix        change the behavior of bash where the default\n"
 "                           operation differs from the Posix standard to\n"
 "                           match the standard\n"
@@ -4165,8 +3993,7 @@ msgid ""
 "          by default when the shell is interactive.\n"
 "      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
-"      -T  If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+"      -T  If set, the DEBUG and RETURN traps are inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
 "          If there are no remaining arguments, the positional parameters\n"
 "          are unset.\n"
@@ -4182,21 +4009,18 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given."
 msgstr ""
-"Define ou remove definição de valores das opções e dos parâmetros "
-"posicionais\n"
+"Define ou remove definição de valores das opções e dos parâmetros posicionais\n"
 "do shell:\n"
 "    \n"
 "    Altera o valor de opções e de parâmetros posicionais do shell ou mostra\n"
 "    os nomes ou valores de variáveis shell.\n"
 "    \n"
 "    Opções:\n"
-"      -a  Marca variáveis, que foram modificadas ou criadas, para "
-"exportação.\n"
+"      -a  Marca variáveis, que foram modificadas ou criadas, para exportação.\n"
 "      -b  Notifica sobre terminação de trabalho imediatamente.\n"
 "      -e  Sai imediatamente se um comando sai com um status não-zero.\n"
 "      -f  Desabilita a geração de nome de arquivo (\"globbing\").\n"
-"      -h  Memoriza a localização de comandos à medida em que são "
-"procurados.\n"
+"      -h  Memoriza a localização de comandos à medida em que são procurados.\n"
 "      -k  Todos argumentos de atribuição são colocados no ambiente para um\n"
 "          comando, e não apenas aqueles que precedem o nome do comando.\n"
 "      -m  Controle de trabalho está habilitado.\n"
@@ -4214,8 +4038,7 @@ msgstr ""
 "              history      habilita histórico de comandos\n"
 "              ignoreeof    shell não vai sair após leitura de EOF\n"
 "              interactive-comments\n"
-"                           permite mostrar comentários em comandos "
-"interativos\n"
+"                           permite mostrar comentários em comandos interativos\n"
 "              keyword      mesmo que -k\n"
 "              monitor      mesmo que -m\n"
 "              noclobber    mesmo que -C\n"
@@ -4227,10 +4050,8 @@ msgstr ""
 "              onecmd       mesmo que -t\n"
 "              physical     mesmo que -P\n"
 "              pipefail     o valor de retorno de uma linha de comandos é o\n"
-"                           status do último comando a sair com status não-"
-"zero,\n"
-"                           ou zero se nenhum comando saiu com status não "
-"zero\n"
+"                           status do último comando a sair com status não-zero,\n"
+"                           ou zero se nenhum comando saiu com status não zero\n"
 "              posix        altera o comportamento do bash, onde a operação\n"
 "                           padrão diverge dos padrões do Posix para\n"
 "                           corresponder a estes padrões\n"
@@ -4238,44 +4059,33 @@ msgstr ""
 "              verbose      mesmo que -v\n"
 "              vi           usa interface de edição de linha estilo vi\n"
 "              xtrace       mesmo que -x\n"
-"      -p  Ligado sempre que IDs de usuário real e efetivo não "
-"corresponderem.\n"
-"          Desabilita processamento do arquivo $ENV e importação de funções "
-"da\n"
+"      -p  Ligado sempre que IDs de usuário real e efetivo não corresponderem.\n"
+"          Desabilita processamento do arquivo $ENV e importação de funções da\n"
 "          shell. Ao desligar essa opção, causa o uid e o gid efetivo serem\n"
 "          os uid e gid reais.\n"
 "      -t  Sai após a leitura e execução de um comando.\n"
-"      -u  Trata limpeza (unset) de variáveis como um erro quando "
-"substituindo.\n"
+"      -u  Trata limpeza (unset) de variáveis como um erro quando substituindo.\n"
 "      -v  Mostra linhas de entrada do shell na medida em que forem lidas.\n"
-"      -x  Mostra comandos e seus argumentos na medida em que forem "
-"executados.\n"
+"      -x  Mostra comandos e seus argumentos na medida em que forem executados.\n"
 "      -B  o shell vai realizar expansão de chaves\n"
 "      -C  Se definido, não permite arquivos normais existentes serem\n"
 "          sobrescritos por redirecionamento da saída.\n"
 "      -E  Se definido, a armadilha ERR é herdada por funções do shell.\n"
-"      -H  Habilita substituição de histórico estilo \"!\". Essa sinalização "
-"está\n"
+"      -H  Habilita substituição de histórico estilo \"!\". Essa sinalização está\n"
 "          habilitada por padrão quando  shell é interativa.\n"
-"      -P  Se definida, não resolve links simbólicos ao sair de comandos, "
-"tais\n"
+"      -P  Se definida, não resolve links simbólicos ao sair de comandos, tais\n"
 "          como `cd' (que altera o diretório atual).\n"
-"      -T  Se definido, a armadilha DEBUG e RETURN são herdadas por funções "
-"do shell.\n"
-"      --  Atribui quaisquer argumentos restantes aos parâmetros "
-"posicionais.\n"
+"      -T  Se definido, a armadilha DEBUG e RETURN são herdadas por funções do shell.\n"
+"      --  Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
 "          Se não houver argumentos restantes, os parâmetros posicionais são\n"
 "          limpos (unset).\n"
-"      -   Atribui quaisquer argumentos restantes aos parâmetros "
-"posicionais.\n"
+"      -   Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
 "          As opções -x e -v são desligadas.\n"
 "    \n"
 "    Usar +, ao invés de -, causa essas sinalizações serem desligadas. As\n"
 "    sinalizações também podem ser usadas por meio de chamada do shell. As\n"
-"    sinalizações atualmente definidas podem ser encontradas em $-. Os n "
-"ARGs\n"
-"    restantes são parâmetros posicionais e são atribuídos, em ordem, a $1, "
-"$2,\n"
+"    sinalizações atualmente definidas podem ser encontradas em $-. Os n ARGs\n"
+"    restantes são parâmetros posicionais e são atribuídos, em ordem, a $1, $2,\n"
 "    .. $n. Se nenhuma ARG for fornecido, todas as variáveis shell são\n"
 "    mostradas.\n"
 "    \n"
@@ -4295,8 +4105,7 @@ msgid ""
 "      -n\ttreat each NAME as a name reference and unset the variable itself\n"
 "    \t\trather than the variable it references\n"
 "    \n"
-"    Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+"    Without options, unset first tries to unset a variable, and if that fails,\n"
 "    tries to unset a function.\n"
 "    \n"
 "    Some variables cannot be unset; also see `readonly'.\n"
@@ -4329,8 +4138,7 @@ msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
 "    Marks each NAME for automatic export to the environment of subsequently\n"
-"    executed commands.  If VALUE is supplied, assign VALUE before "
-"exporting.\n"
+"    executed commands.  If VALUE is supplied, assign VALUE before exporting.\n"
 "    \n"
 "    Options:\n"
 "      -f\trefer to shell functions\n"
@@ -4345,8 +4153,7 @@ msgstr ""
 "Define atributo de exportação para variáveis shell.\n"
 "    \n"
 "    Marca cada NOME para exportação automática para o ambiente dos comandos\n"
-"    executados subsequentemente. Se VALOR for fornecido, atribui VALOR "
-"antes\n"
+"    executados subsequentemente. Se VALOR for fornecido, atribui VALOR antes\n"
 "    de exportar.\n"
 "    \n"
 "    Opções:\n"
@@ -4413,8 +4220,7 @@ msgid ""
 msgstr ""
 "Desloca parâmetros posicionais.\n"
 "    \n"
-"    Renomeia os parâmetros posicionais $N+1,$N+2 ... até $1,$2 ...  Se N "
-"não\n"
+"    Renomeia os parâmetros posicionais $N+1,$N+2 ... até $1,$2 ...  Se N não\n"
 "    for fornecido, presume-se que ele seja 1.\n"
 "    \n"
 "    Status de saída:\n"
@@ -4506,8 +4312,7 @@ msgid ""
 "      -x FILE        True if the file is executable by you.\n"
 "      -O FILE        True if the file is effectively owned by you.\n"
 "      -G FILE        True if the file is effectively owned by your group.\n"
-"      -N FILE        True if the file has been modified since it was last "
-"read.\n"
+"      -N FILE        True if the file has been modified since it was last read.\n"
 "    \n"
 "      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
 "                       modification date).\n"
@@ -4528,8 +4333,7 @@ msgid ""
 "      STRING1 != STRING2\n"
 "                     True if the strings are not equal.\n"
 "      STRING1 < STRING2\n"
-"                     True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+"                     True if STRING1 sorts before STRING2 lexicographically.\n"
 "      STRING1 > STRING2\n"
 "                     True if STRING1 sorts after STRING2 lexicographically.\n"
 "    \n"
@@ -4556,10 +4360,8 @@ msgid ""
 msgstr ""
 "Avalia expressão condicional.\n"
 "    \n"
-"    Sai com um status de 0 (verdadeiro) ou 1 (falso) dependendo da "
-"avaliação\n"
-"    de EXPR. As expressões podem ser unárias ou binárias. Expressões "
-"unárias\n"
+"    Sai com um status de 0 (verdadeiro) ou 1 (falso) dependendo da avaliação\n"
+"    de EXPR. As expressões podem ser unárias ou binárias. Expressões unárias\n"
 "    são normalmente usadas para examinar o status de um arquivo. Há\n"
 "    operadores de strings e também há operadores de comparação numérica.\n"
 "    \n"
@@ -4573,8 +4375,7 @@ msgstr ""
 "      -c ARQUIVO     Verdadeiro, se arquivo for um caractere especial.\n"
 "      -d ARQUIVO     Verdadeiro, se arquivo for um diretório.\n"
 "      -e ARQUIVO     Verdadeiro, se arquivo existir.\n"
-"      -f ARQUIVO     Verdadeiro, se arquivo existir e for um arquivo "
-"normal.\n"
+"      -f ARQUIVO     Verdadeiro, se arquivo existir e for um arquivo normal.\n"
 "      -g ARQUIVO     Verdadeiro, se arquivo for set-group-id.\n"
 "      -h ARQUIVO     Verdadeiro, se arquivo for um link simbólico.\n"
 "      -L ARQUIVO     Verdadeiro, se arquivo for um link simbólico.\n"
@@ -4625,20 +4426,16 @@ msgstr ""
 "                     e for uma referência de nome.\n"
 "      ! EXPR         Verdadeiro, se a expressão EXPR for falsa.\n"
 "      EXPR1 -a EXPR2 Verdadeiro, se ambas EXPR1 e EXPR2 forem verdadeiras.\n"
-"      EXPR1 -o EXPR2 Verdadeiro, se ao menos uma das expressões for "
-"verdadeira.\n"
+"      EXPR1 -o EXPR2 Verdadeiro, se ao menos uma das expressões for verdadeira.\n"
 "    \n"
-"      arg1 OP arg2   Testes aritméticos.  OP é um dentre -eq, -ne, -lt, -"
-"le,\n"
+"      arg1 OP arg2   Testes aritméticos.  OP é um dentre -eq, -ne, -lt, -le,\n"
 "                     -gt, or -ge.\n"
 "    \n"
-"    Operadores binários de aritmética retornam verdadeiro se ARG1 for "
-"igual,\n"
+"    Operadores binários de aritmética retornam verdadeiro se ARG1 for igual,\n"
 "    não-igual, menor-que, menor-ou-igual-a ou maior-ou-igual-a ARG2.\n"
 "    \n"
 "    Status de saída:\n"
-"    Retorna sucesso, se EXPR for avaliada como verdadeira; falha, se EXPR "
-"for\n"
+"    Retorna sucesso, se EXPR for avaliada como verdadeira; falha, se EXPR for\n"
 "    avaliada como falsa ou um argumento inválido for informado."
 
 # help [
@@ -4659,8 +4456,7 @@ msgstr ""
 msgid ""
 "Display process times.\n"
 "    \n"
-"    Prints the accumulated user and system times for the shell and all of "
-"its\n"
+"    Prints the accumulated user and system times for the shell and all of its\n"
 "    child processes.\n"
 "    \n"
 "    Exit Status:\n"
@@ -4679,8 +4475,7 @@ msgstr ""
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
-"    Defines and activates handlers to be run when the shell receives "
-"signals\n"
+"    Defines and activates handlers to be run when the shell receives signals\n"
 "    or other conditions.\n"
 "    \n"
 "    ARG is a command to be read and executed when the shell receives the\n"
@@ -4689,34 +4484,26 @@ msgid ""
 "    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
 "    shell and by the commands it invokes.\n"
 "    \n"
-"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  "
-"If\n"
-"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  "
-"If\n"
-"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
-"a\n"
-"    script run by the . or source builtins finishes executing.  A "
-"SIGNAL_SPEC\n"
-"    of ERR means to execute ARG each time a command's failure would cause "
-"the\n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
 "    shell to exit when the -e option is enabled.\n"
 "    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
 "    with each signal.\n"
 "    \n"
 "    Options:\n"
 "      -l\tprint a list of signal names and their corresponding numbers\n"
 "      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
 "    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
 "    Signal names are case insensitive and the SIG prefix is optional.  A\n"
 "    signal may be sent to the shell with \"kill -signal $$\".\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
 msgstr ""
 "Tratamento de sinais e outros eventos.\n"
 "    \n"
@@ -4782,8 +4569,7 @@ msgid ""
 "      NAME\tCommand name to be interpreted.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+"    Returns success if all of the NAMEs are found; fails if any are not found."
 msgstr ""
 "Exibe informação sobre o tipo de comando.\n"
 "    \n"
@@ -4817,8 +4603,7 @@ msgstr ""
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
-"    Provides control over the resources available to the shell and "
-"processes\n"
+"    Provides control over the resources available to the shell and processes\n"
 "    it creates, on systems that allow such control.\n"
 "    \n"
 "    Options:\n"
@@ -4951,23 +4736,19 @@ msgstr ""
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
-"    Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+"    Waits for each process identified by an ID, which may be a process ID or a\n"
 "    job specification, and reports its termination status.  If ID is not\n"
 "    given, waits for all currently active child processes, and the return\n"
 "    status is zero.  If ID is a job specification, waits for all processes\n"
 "    in that job's pipeline.\n"
 "    \n"
-"    If the -n option is supplied, waits for a single job from the list of "
-"IDs,\n"
-"    or, if no IDs are supplied, for the next job to complete and returns "
-"its\n"
+"    If the -n option is supplied, waits for a single job from the list of IDs,\n"
+"    or, if no IDs are supplied, for the next job to complete and returns its\n"
 "    exit status.\n"
 "    \n"
 "    If the -p option is supplied, the process or job identifier of the job\n"
 "    for which the exit status is returned is assigned to the variable VAR\n"
-"    named by the option argument. The variable will be unset initially, "
-"before\n"
+"    named by the option argument. The variable will be unset initially, before\n"
 "    any assignment. This is useful only when the -n option is supplied.\n"
 "    \n"
 "    If the -f option is supplied, and job control is enabled, waits for the\n"
@@ -5005,14 +4786,12 @@ msgstr ""
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
-"    Waits for each process specified by a PID and reports its termination "
-"status.\n"
+"    Waits for each process specified by a PID and reports its termination status.\n"
 "    If PID is not given, waits for all currently active child processes,\n"
 "    and the return status is zero.  PID must be a process ID.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+"    Returns the status of the last PID; fails if PID is invalid or an invalid\n"
 "    option is given."
 msgstr ""
 "Espera por conclusão de processo e retorna o status de saída.\n"
@@ -5043,8 +4822,7 @@ msgstr ""
 "    \n"
 "    O loop `for' executa uma sequência de comandos para cada membro em\n"
 "    uma lista de itens. Se `in PALAVRAS ...;' não estiver presente, então\n"
-"    `in \"$@\"' é presumido. Para cada elemento em PALAVRAS, NOME é "
-"definido\n"
+"    `in \"$@\"' é presumido. Para cada elemento em PALAVRAS, NOME é definido\n"
 "    com aquele elemento e os COMANDOS são executados.\n"
 "    \n"
 "    Status de saída:\n"
@@ -5173,17 +4951,12 @@ msgstr ""
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
-"    The `if COMMANDS' list is executed.  If its exit status is zero, then "
-"the\n"
-"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
-"is\n"
+"    The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list is\n"
 "    executed in turn, and if its exit status is zero, the corresponding\n"
-"    `then COMMANDS' list is executed and the if command completes.  "
-"Otherwise,\n"
-"    the `else COMMANDS' list is executed, if present.  The exit status of "
-"the\n"
-"    entire construct is the exit status of the last command executed, or "
-"zero\n"
+"    `then COMMANDS' list is executed and the if command completes.  Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of the\n"
+"    entire construct is the exit status of the last command executed, or zero\n"
 "    if no condition tested true.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5205,12 +4978,10 @@ msgstr ""
 
 # help while
 #: builtins.c:1648
-#, fuzzy
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS "
-"has\n"
+"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS has\n"
 "    an exit status of zero.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5218,20 +4989,18 @@ msgid ""
 msgstr ""
 "Executa comandos desde que se obtenha sucesso nos testes.\n"
 "    \n"
-"    Expande e executa COMANDOS desde que o último comando nos\n"
-"    COMANDOS de `while' tenham status de saída zero.\n"
+"    Expande e executa COMANDOS-2 desde que o comando final em\n"
+"    COMANDOS tenha um status de saída zero.\n"
 "    \n"
 "    Status de saída:\n"
 "    Retorna o status do último comando executado."
 
 # help until
 #: builtins.c:1660
-#, fuzzy
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS "
-"has\n"
+"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS has\n"
 "    an exit status which is not zero.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5239,9 +5008,8 @@ msgid ""
 msgstr ""
 "Executa comandos desde que não se obtenha sucesso nos testes.\n"
 "    \n"
-"    Expande e executa COMANDOS desde que o último comando nos\n"
-"    COMANDOS de `until' tenham status de saída zero que seja\n"
-"    não-zero.\n"
+"    Expande e executa COMANDOS-2 desde que o comando final em\n"
+"    COMANDOS tenha um status de saída que seja não-zero.\n"
 "    \n"
 "    Status de saída:\n"
 "    Retorna o status do último comando executado."
@@ -5274,8 +5042,7 @@ msgid ""
 "Define shell function.\n"
 "    \n"
 "    Create a shell function named NAME.  When invoked as a simple command,\n"
-"    NAME runs COMMANDs in the calling shell's context.  When NAME is "
-"invoked,\n"
+"    NAME runs COMMANDs in the calling shell's context.  When NAME is invoked,\n"
 "    the arguments are passed to the function as $1...$n, and the function's\n"
 "    name is in $FUNCNAME.\n"
 "    \n"
@@ -5360,12 +5127,9 @@ msgstr ""
 msgid ""
 "Execute conditional command.\n"
 "    \n"
-"    Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-"    expression EXPRESSION.  Expressions are composed of the same primaries "
-"used\n"
-"    by the `test' builtin, and may be combined using the following "
-"operators:\n"
+"    Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries used\n"
+"    by the `test' builtin, and may be combined using the following operators:\n"
 "    \n"
 "      ( EXPRESSION )\tReturns the value of EXPRESSION\n"
 "      ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5493,8 +5257,7 @@ msgstr ""
 "    OSTYPE\t\t\tA versão do Unix no qual Bash está sendo executado.\n"
 "    PATH\t\t\tUma lista separada por dois-pontos de diretórios para\n"
 "    \t\t\tpesquisar ao se procurar por comandos.\n"
-"    PROMPT_COMMAND\tUm comando a ser executado antes de imprimir cada "
-"prompt\n"
+"    PROMPT_COMMAND\tUm comando a ser executado antes de imprimir cada prompt\n"
 "    \t\t\tprimário.\n"
 "    PS1\t\t\t\tA string de prompt primário.\n"
 "    PS2\t\t\t\tA string de prompt secundária.\n"
@@ -5728,7 +5491,6 @@ msgstr ""
 
 # help printf
 #: builtins.c:1938
-#, fuzzy
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
 "    \n"
@@ -5736,36 +5498,29 @@ msgid ""
 "      -v var\tassign the output to shell variable VAR rather than\n"
 "    \t\tdisplay it on the standard output\n"
 "    \n"
-"    FORMAT is a character string which contains three types of objects: "
-"plain\n"
-"    characters, which are simply copied to standard output; character "
-"escape\n"
+"    FORMAT is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output; character escape\n"
 "    sequences, which are converted and copied to the standard output; and\n"
-"    format specifications, each of which causes printing of the next "
-"successive\n"
+"    format specifications, each of which causes printing of the next successive\n"
 "    argument.\n"
 "    \n"
-"    In addition to the standard format specifications described in "
-"printf(1),\n"
+"    In addition to the standard format specifications described in printf(1),\n"
 "    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
 "      %Q\tlike %q, but apply any precision to the unquoted argument before\n"
 "    \t\tquoting\n"
-"      %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+"      %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
 "    \t        string for strftime(3)\n"
 "    \n"
 "    The format is re-used as necessary to consume all of the arguments.  If\n"
 "    there are fewer arguments than the format requires,  extra format\n"
-"    specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+"    specifications behave as if a zero value or null string, as appropriate,\n"
 "    had been supplied.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or a write or "
-"assignment\n"
+"    Returns success unless an invalid option is given or a write or assignment\n"
 "    error occurs."
 msgstr ""
 "Formata e imprime ARGUMENTOS sob controle de FORMATO.\n"
@@ -5787,6 +5542,8 @@ msgstr ""
 "      \t\tcorrespondente\n"
 "      %q\tcita o argumento de uma forma que pode ser usado como entrada\n"
 "      \t\tno shell\n"
+"      %Q\tcomo %q, mas aplica qualquer precisão ao argumento sem aspas\n"
+"    \t\tantes de adicionar aspas\n"
 "      %(fmt)T\texibe a string de data-hora resultante do uso de FMT como\n"
 "      \t\t\tuma string de formato para strftime(3)\n"
 "    \n"
@@ -5804,10 +5561,8 @@ msgstr ""
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
-"    For each NAME, specify how arguments are to be completed.  If no "
-"options\n"
-"    are supplied, existing completion specifications are printed in a way "
-"that\n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
 "    allows them to be reused as input.\n"
 "    \n"
 "    Options:\n"
@@ -5822,10 +5577,8 @@ msgid ""
 "    \t\tcommand) word\n"
 "    \n"
 "    When completion is attempted, the actions are applied in the order the\n"
-"    uppercase-letter options are listed above. If multiple options are "
-"supplied,\n"
-"    the -D option takes precedence over -E, and both take precedence over -"
-"I.\n"
+"    uppercase-letter options are listed above. If multiple options are supplied,\n"
+"    the -D option takes precedence over -E, and both take precedence over -I.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
@@ -5837,10 +5590,8 @@ msgstr ""
 "    impressas em uma forma que permite-as serem usadas como entrada.\n"
 "    \n"
 "    Opções:\n"
-"      -p\timprime especificações existentes de completar em um formato "
-"usável\n"
-"      -r\tremove uma especificação de completar para cada NOME ou, se "
-"nenhum\n"
+"      -p\timprime especificações existentes de completar em um formato usável\n"
+"      -r\tremove uma especificação de completar para cada NOME ou, se nenhum\n"
 "    \t\tNOME for fornecido, todas as especificações de completar\n"
 "      -D\taplica as completações e ações como sendo o padrão para comandos\n"
 "    \t\tsem qualquer especificação definida\n"
@@ -5850,8 +5601,7 @@ msgstr ""
 "    \t\tcomando)\n"
 "    \n"
 "    Ao tentar completar, as ações são fornecidas na ordem em que as opções\n"
-"    de letras de caixa alta são listadas acima. Se várias opções forem "
-"fornecidas,\n"
+"    de letras de caixa alta são listadas acima. Se várias opções forem fornecidas,\n"
 "    a opção -D tem precedência sobre -E, e ambos têm precedência sobre -I.\n"
 "    sobre -E.\n"
 "    \n"
@@ -5865,8 +5615,7 @@ msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
 "    Intended to be used from within a shell function generating possible\n"
-"    completions.  If the optional WORD argument is supplied, matches "
-"against\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
 "    WORD are generated.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5887,12 +5636,9 @@ msgstr ""
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
-"    Modify the completion options for each NAME, or, if no NAMEs are "
-"supplied,\n"
-"    the completion currently being executed.  If no OPTIONs are given, "
-"print\n"
-"    the completion options for each NAME or the current completion "
-"specification.\n"
+"    Modify the completion options for each NAME, or, if no NAMEs are supplied,\n"
+"    the completion currently being executed.  If no OPTIONs are given, print\n"
+"    the completion options for each NAME or the current completion specification.\n"
 "    \n"
 "    Options:\n"
 "    \t-o option\tSet completion option OPTION for each NAME\n"
@@ -5947,22 +5693,17 @@ msgstr ""
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
-"    Read lines from the standard input into the indexed array variable "
-"ARRAY, or\n"
-"    from file descriptor FD if the -u option is supplied.  The variable "
-"MAPFILE\n"
+"    Read lines from the standard input into the indexed array variable ARRAY, or\n"
+"    from file descriptor FD if the -u option is supplied.  The variable MAPFILE\n"
 "    is the default ARRAY.\n"
 "    \n"
 "    Options:\n"
 "      -d delim\tUse DELIM to terminate lines, instead of newline\n"
-"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are "
-"copied\n"
-"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default "
-"index is 0\n"
+"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are copied\n"
+"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default index is 0\n"
 "      -s count\tDiscard the first COUNT lines read\n"
 "      -t\tRemove a trailing DELIM from each line read (default newline)\n"
-"      -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+"      -u fd\tRead lines from file descriptor FD instead of the standard input\n"
 "      -C callback\tEvaluate CALLBACK each time QUANTUM lines are read\n"
 "      -c quantum\tSpecify the number of lines read between each call to\n"
 "    \t\t\tCALLBACK\n"
@@ -5975,13 +5716,11 @@ msgid ""
 "    element to be assigned and the line to be assigned to that element\n"
 "    as additional arguments.\n"
 "    \n"
-"    If not supplied with an explicit origin, mapfile will clear ARRAY "
-"before\n"
+"    If not supplied with an explicit origin, mapfile will clear ARRAY before\n"
 "    assigning to it.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or ARRAY is readonly "
-"or\n"
+"    Returns success unless an invalid option is given or ARRAY is readonly or\n"
 "    not an indexed array."
 msgstr ""
 "Lê linhas da entrada padrão para uma variável array indexado.\n"
@@ -5992,28 +5731,23 @@ msgstr ""
 "    \n"
 "    Opções:\n"
 "      -d dlim      Usa DELIM para terminar linhas, ao invés de nova linha\n"
-"      -n número     Copia no máximo NÚMERO linhas. Se NÚMERO for 0, todas "
-"as\n"
+"      -n número     Copia no máximo NÚMERO linhas. Se NÚMERO for 0, todas as\n"
 "                    linhas são copiadas\n"
 "      -O origem     Inicia atribuição de ARRAY no índice ORIGEM. O índice\n"
 "                    padrão é 0\n"
 "      -s número     Descarta as primeiras NÚMERO linhas lidas\n"
 "      -t            Remove uma DELIM ao final para cada linha lida\n"
 "                    (padrão: nova linha)\n"
-"      -u fd         Lê linhas do descritor de arquivos FD, ao invés da "
-"entrada\n"
+"      -u fd         Lê linhas do descritor de arquivos FD, ao invés da entrada\n"
 "                    padrão\n"
-"      -C chamada    Avalia CHAMADA a cada vez que QUANTIDADE linhas foram "
-"lidas\n"
-"      -c quantidade Especifica o número de linhas lidas entre cada chamada "
-"para\n"
+"      -C chamada    Avalia CHAMADA a cada vez que QUANTIDADE linhas foram lidas\n"
+"      -c quantidade Especifica o número de linhas lidas entre cada chamada para\n"
 "                    CHAMADA\n"
 "    \n"
 "    Argumentos:\n"
 "      ARRAY         Nome da variável array para usar para arquivos de dados\n"
 "    \n"
-"    Se -C for fornecido sem -c, a quantidade padrão é 5000. Quando CHAMADA "
-"é\n"
+"    Se -C for fornecido sem -c, a quantidade padrão é 5000. Quando CHAMADA é\n"
 "    avaliada, é fornecido o índice para o próximo elemento da array ser\n"
 "    atribuído e a linha para ser atribuída àquele elemento como argumentos\n"
 "    adicionais\n"
@@ -6036,7 +5770,6 @@ msgstr ""
 "    \n"
 "    Um sinônimo para `mapfile'."
 
-#, c-format
 #~ msgid "%s: invalid associative array key"
 #~ msgstr "%s: chave de array associativo inválida"
 
@@ -6114,12 +5847,9 @@ msgstr ""
 #~ "    If FILENAME is given, it is used as the history file.  Otherwise,\n"
 #~ "    if HISTFILE has a value, that is used, else ~/.bash_history.\n"
 #~ "    \n"
-#~ "    If the HISTTIMEFORMAT variable is set and not null, its value is "
-#~ "used\n"
-#~ "    as a format string for strftime(3) to print the time stamp "
-#~ "associated\n"
-#~ "    with each displayed history entry.  No time stamps are printed "
-#~ "otherwise.\n"
+#~ "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
+#~ "    as a format string for strftime(3) to print the time stamp associated\n"
+#~ "    with each displayed history entry.  No time stamps are printed otherwise.\n"
 #~ "    \n"
 #~ "    Exit Status:\n"
 #~ "    Returns success unless an invalid option is given or an error occurs."
@@ -6145,16 +5875,12 @@ msgstr ""
 #~ "      -s\t\t\tanexa os ARGs à lista de histórico como uma única entrada\n"
 #~ "    \n"
 #~ "    Se ARQUIVO for fornecido, ele é usado como o arquivo de histórico.\n"
-#~ "    Do contrário, se a variável HISTFILE tiver um valor, este será "
-#~ "usado;\n"
+#~ "    Do contrário, se a variável HISTFILE tiver um valor, este será usado;\n"
 #~ "    senão, usa de ~/.bash_history.\n"
 #~ "    \n"
-#~ "    Se a variável HISTTIMEFORMAT for definida e não for nula, seu valor "
-#~ "é\n"
-#~ "    usado como uma string de formato para strftime(3) para mostrar a "
-#~ "marca\n"
-#~ "    de tempo associada com cada entrada de histórico exibida. Do "
-#~ "contrário,\n"
+#~ "    Se a variável HISTTIMEFORMAT for definida e não for nula, seu valor é\n"
+#~ "    usado como uma string de formato para strftime(3) para mostrar a marca\n"
+#~ "    de tempo associada com cada entrada de histórico exibida. Do contrário,\n"
 #~ "    nenhuma marca de tempo é mostrada.\n"
 #~ "    \n"
 #~ "    Status de saída:\n"
@@ -6175,10 +5901,8 @@ msgstr ""
 #~ "      -l\tlist the signal names; if arguments follow `-l' they are\n"
 #~ "    \t\tassumed to be signal numbers for which names should be listed\n"
 #~ "    \n"
-#~ "    Kill is a shell builtin for two reasons: it allows job IDs to be "
-#~ "used\n"
-#~ "    instead of process IDs, and allows processes to be killed if the "
-#~ "limit\n"
+#~ "    Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
+#~ "    instead of process IDs, and allows processes to be killed if the limit\n"
 #~ "    on processes that you can create is reached.\n"
 #~ "    \n"
 #~ "    Exit Status:\n"
@@ -6236,8 +5960,7 @@ msgstr ""
 #~ "              history      enable command history\n"
 #~ "              ignoreeof    the shell will not exit upon reading EOF\n"
 #~ "              interactive-comments\n"
-#~ "                           allow comments to appear in interactive "
-#~ "commands\n"
+#~ "                           allow comments to appear in interactive commands\n"
 #~ "              keyword      same as -k\n"
 #~ "              monitor      same as -m\n"
 #~ "              noclobber    same as -C\n"
@@ -6248,12 +5971,9 @@ msgstr ""
 #~ "              nounset      same as -u\n"
 #~ "              onecmd       same as -t\n"
 #~ "              physical     same as -P\n"
-#~ "              pipefail     the return value of a pipeline is the status "
-#~ "of\n"
-#~ "                           the last command to exit with a non-zero "
-#~ "status,\n"
-#~ "                           or zero if no command exited with a non-zero "
-#~ "status\n"
+#~ "              pipefail     the return value of a pipeline is the status of\n"
+#~ "                           the last command to exit with a non-zero status,\n"
+#~ "                           or zero if no command exited with a non-zero status\n"
 #~ "              posix        change the behavior of bash where the default\n"
 #~ "                           operation differs from the Posix standard to\n"
 #~ "                           match the standard\n"
@@ -6261,11 +5981,9 @@ msgstr ""
 #~ "              verbose      same as -v\n"
 #~ "              vi           use a vi-style line editing interface\n"
 #~ "              xtrace       same as -x\n"
-#~ "      -p  Turned on whenever the real and effective user ids do not "
-#~ "match.\n"
+#~ "      -p  Turned on whenever the real and effective user ids do not match.\n"
 #~ "          Disables processing of the $ENV file and importing of shell\n"
-#~ "          functions.  Turning this option off causes the effective uid "
-#~ "and\n"
+#~ "          functions.  Turning this option off causes the effective uid and\n"
 #~ "          gid to be set to the real uid and gid.\n"
 #~ "      -t  Exit after reading and executing one command.\n"
 #~ "      -u  Treat unset variables as an error when substituting.\n"
@@ -6288,32 +6006,26 @@ msgstr ""
 #~ "    \n"
 #~ "    Using + rather than - causes these flags to be turned off.  The\n"
 #~ "    flags can also be used upon invocation of the shell.  The current\n"
-#~ "    set of flags may be found in $-.  The remaining n ARGs are "
-#~ "positional\n"
+#~ "    set of flags may be found in $-.  The remaining n ARGs are positional\n"
 #~ "    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
 #~ "    ARGs are given, all shell variables are printed.\n"
 #~ "    \n"
 #~ "    Exit Status:\n"
 #~ "    Returns success unless an invalid option is given."
 #~ msgstr ""
-#~ "Define ou remove definição de valores das opções e dos parâmetros "
-#~ "posicionais\n"
+#~ "Define ou remove definição de valores das opções e dos parâmetros posicionais\n"
 #~ "do shell:\n"
 #~ "    \n"
-#~ "    Altera o valor de opções e de parâmetros posicionais do shell ou "
-#~ "mostra\n"
+#~ "    Altera o valor de opções e de parâmetros posicionais do shell ou mostra\n"
 #~ "    os nomes ou valores de variáveis shell.\n"
 #~ "    \n"
 #~ "    Opções:\n"
-#~ "      -a  Marca variáveis, que foram modificadas ou criadas, para "
-#~ "exportação.\n"
+#~ "      -a  Marca variáveis, que foram modificadas ou criadas, para exportação.\n"
 #~ "      -b  Notifica sobre terminação de trabalho imediatamente.\n"
 #~ "      -e  Sai imediatamente se um comando sai com um status não-zero.\n"
 #~ "      -f  Desabilita a geração de nome de arquivo (\"globbing\").\n"
-#~ "      -h  Memoriza a localização de comandos à medida em que são "
-#~ "procurados.\n"
-#~ "      -k  Todos argumentos de atribuição são colocados no ambiente para "
-#~ "um\n"
+#~ "      -h  Memoriza a localização de comandos à medida em que são procurados.\n"
+#~ "      -k  Todos argumentos de atribuição são colocados no ambiente para um\n"
 #~ "          comando, e não apenas aqueles que precedem o nome do comando.\n"
 #~ "      -m  Controle de trabalho está habilitado.\n"
 #~ "      -n  Lê comandos, mas não os executa.\n"
@@ -6330,8 +6042,7 @@ msgstr ""
 #~ "              history      habilita histórico de comandos\n"
 #~ "              ignoreeof    shell não vai sair após leitura de EOF\n"
 #~ "              interactive-comments\n"
-#~ "                           permite mostrar comentários em comandos "
-#~ "interativos\n"
+#~ "                           permite mostrar comentários em comandos interativos\n"
 #~ "              keyword      mesmo que -k\n"
 #~ "              monitor      mesmo que -m\n"
 #~ "              noclobber    mesmo que -C\n"
@@ -6342,61 +6053,43 @@ msgstr ""
 #~ "              nounset      mesmo que -u\n"
 #~ "              onecmd       mesmo que -t\n"
 #~ "              physical     mesmo que -P\n"
-#~ "              pipefail     o valor de retorno de uma linha de comandos é "
-#~ "o\n"
-#~ "                           status do último comando a sair com status não-"
-#~ "zero,\n"
-#~ "                           ou zero se nenhum comando saiu com status não "
-#~ "zero\n"
-#~ "              posix        altera o comportamento do bash, onde a "
-#~ "operação\n"
+#~ "              pipefail     o valor de retorno de uma linha de comandos é o\n"
+#~ "                           status do último comando a sair com status não-zero,\n"
+#~ "                           ou zero se nenhum comando saiu com status não zero\n"
+#~ "              posix        altera o comportamento do bash, onde a operação\n"
 #~ "                           padrão diverge dos padrões do Posix para\n"
 #~ "                           corresponder a estes padrões\n"
 #~ "              privileged   mesmo que -p\n"
 #~ "              verbose      mesmo que -v\n"
 #~ "              vi           usa interface de edição de linha estilo vi\n"
 #~ "              xtrace       mesmo que -x\n"
-#~ "      -p  Ligado sempre que IDs de usuário real e efetivo não "
-#~ "corresponderem.\n"
-#~ "          Desabilita processamento do arquivo $ENV e importação de "
-#~ "funções da\n"
-#~ "          shell. Ao desligar essa opção, causa o uid e o gid efetivo "
-#~ "serem\n"
+#~ "      -p  Ligado sempre que IDs de usuário real e efetivo não corresponderem.\n"
+#~ "          Desabilita processamento do arquivo $ENV e importação de funções da\n"
+#~ "          shell. Ao desligar essa opção, causa o uid e o gid efetivo serem\n"
 #~ "          os uid e gid reais.\n"
 #~ "      -t  Sai após a leitura e execução de um comando.\n"
-#~ "      -u  Trata limpeza (unset) de variáveis como um erro quando "
-#~ "substituindo.\n"
-#~ "      -v  Mostra linhas de entrada do shell na medida em que forem "
-#~ "lidas.\n"
-#~ "      -x  Mostra comandos e seus argumentos na medida em que forme "
-#~ "executados.\n"
+#~ "      -u  Trata limpeza (unset) de variáveis como um erro quando substituindo.\n"
+#~ "      -v  Mostra linhas de entrada do shell na medida em que forem lidas.\n"
+#~ "      -x  Mostra comandos e seus argumentos na medida em que forme executados.\n"
 #~ "      -B  o shell vai realizar expansão de chaves\n"
 #~ "      -C  Se definido, não permite arquivos normais existentes serem\n"
 #~ "          sobrescritos por redirecionamento da saída.\n"
 #~ "      -E  Se definido, a armadilha ERR é herdada por funções do shell.\n"
-#~ "      -H  Habilita substituição de histórico estilo \"!\". Essa "
-#~ "sinalização está\n"
+#~ "      -H  Habilita substituição de histórico estilo \"!\". Essa sinalização está\n"
 #~ "          habilitada por padrão quando  shell é interativa.\n"
-#~ "      -P  Se definida, não resolve links simbólicos ao sair de comandos, "
-#~ "tais\n"
+#~ "      -P  Se definida, não resolve links simbólicos ao sair de comandos, tais\n"
 #~ "          como `cd' (que altera o diretório atual).\n"
 #~ "      -T  Se definido, a armadilha DEBUG é herdada por funções do shell.\n"
-#~ "      --  Atribui quaisquer argumentos restantes aos parâmetros "
-#~ "posicionais.\n"
-#~ "          Se não houver argumentos restantes, os parâmetros posicionais "
-#~ "são\n"
+#~ "      --  Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
+#~ "          Se não houver argumentos restantes, os parâmetros posicionais são\n"
 #~ "          limpos (unset).\n"
-#~ "      -   Atribui quaisquer argumentos restantes aos parâmetros "
-#~ "posicionais.\n"
+#~ "      -   Atribui quaisquer argumentos restantes aos parâmetros posicionais.\n"
 #~ "          As opções -x e -v são desligadas.\n"
 #~ "    \n"
 #~ "    Usar +, ao invés de -, causa essas sinalizações serem desligadas. As\n"
-#~ "    sinalizações também podem ser usadas por meio de chamada do shell. "
-#~ "As\n"
-#~ "    sinalizações atualmente definidas podem ser encontradas em $-. Os n "
-#~ "ARGs\n"
-#~ "    restantes são parâmetros posicionais e são atribuídos, em ordem, a "
-#~ "$1, $2,\n"
+#~ "    sinalizações também podem ser usadas por meio de chamada do shell. As\n"
+#~ "    sinalizações atualmente definidas podem ser encontradas em $-. Os n ARGs\n"
+#~ "    restantes são parâmetros posicionais e são atribuídos, em ordem, a $1, $2,\n"
 #~ "    .. $n. Se nenhuma ARG for fornecido, todas as variáveis shell são\n"
 #~ "    mostradas.\n"
 #~ "    \n"
@@ -6407,10 +6100,8 @@ msgstr ""
 #~ msgid ""
 #~ "Create a coprocess named NAME.\n"
 #~ "    \n"
-#~ "    Execute COMMAND asynchronously, with the standard output and "
-#~ "standard\n"
-#~ "    input of the command connected via a pipe to file descriptors "
-#~ "assigned\n"
+#~ "    Execute COMMAND asynchronously, with the standard output and standard\n"
+#~ "    input of the command connected via a pipe to file descriptors assigned\n"
 #~ "    to indices 0 and 1 of an array variable NAME in the executing shell.\n"
 #~ "    The default NAME is \"COPROC\".\n"
 #~ "    \n"
@@ -6420,8 +6111,7 @@ msgstr ""
 #~ "Cria um coprocesso chamado NOME.\n"
 #~ "    \n"
 #~ "    Executa COMANDO assincronamente, com a saída padrão e entrada padrão\n"
-#~ "    do comando conectados via um `pipe' (redirecionamento) para "
-#~ "descritores\n"
+#~ "    do comando conectados via um `pipe' (redirecionamento) para descritores\n"
 #~ "    de arquivo atribuídos para índices 0 e 1 de uma variável array NOME\n"
 #~ "    no shell em execução. O NOME padrão é \"COPROC\".\n"
 #~ "    \n"
@@ -6544,8 +6234,7 @@ msgstr ""
 #~ msgstr "substituição de comando"
 
 #~ msgid "Can't reopen pipe to command substitution (fd %d): %s"
-#~ msgstr ""
-#~ "Impossível reabrir o `pipe' para substituição de comando (fd %d): %s"
+#~ msgstr "Impossível reabrir o `pipe' para substituição de comando (fd %d): %s"
 
 #~ msgid "$%c: unbound variable"
 #~ msgstr "$%c: variável não associada"
@@ -6629,8 +6318,7 @@ msgstr ""
 #~ msgstr "de aliases na forma `alias NOME=VALOR' na saída padrão."
 
 #~ msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-#~ msgstr ""
-#~ "Ou então, um alias é definido para cada NOME cujo VALOR for fornecido."
+#~ msgstr "Ou então, um alias é definido para cada NOME cujo VALOR for fornecido."
 
 #~ msgid "A trailing space in VALUE causes the next word to be checked for"
 #~ msgstr "Um espaço após VALOR faz a próxima palavra ser verificada para"
@@ -6639,45 +6327,34 @@ msgstr ""
 #~ msgstr "substituição do alias quando o alias é expandido. Alias retorna"
 
 #~ msgid "true unless a NAME is given for which no alias has been defined."
-#~ msgstr ""
-#~ "verdadeiro, a não ser que seja fornecido um NOME sem alias definido."
+#~ msgstr "verdadeiro, a não ser que seja fornecido um NOME sem alias definido."
 
-#~ msgid ""
-#~ "Remove NAMEs from the list of defined aliases.  If the -a option is given,"
-#~ msgstr ""
-#~ "Remove NOMEs da lista de aliases definidos. Se a opção -a for fornecida,"
+#~ msgid "Remove NAMEs from the list of defined aliases.  If the -a option is given,"
+#~ msgstr "Remove NOMEs da lista de aliases definidos. Se a opção -a for fornecida,"
 
 #~ msgid "then remove all alias definitions."
 #~ msgstr "então todas as definições de alias são removidas."
 
 #~ msgid "Bind a key sequence to a Readline function, or to a macro.  The"
-#~ msgstr ""
-#~ "Víncula uma sequência de teclas a uma função de leitura de linha, ou a uma"
+#~ msgstr "Víncula uma sequência de teclas a uma função de leitura de linha, ou a uma"
 
 #~ msgid "syntax is equivalent to that found in ~/.inputrc, but must be"
-#~ msgstr ""
-#~ "macro.  A sintaxe é equivalente à encontrada em ~/.inputrc, mas deve ser"
+#~ msgstr "macro.  A sintaxe é equivalente à encontrada em ~/.inputrc, mas deve ser"
 
-#~ msgid ""
-#~ "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
-#~ msgstr ""
-#~ "passada como um único argumento: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgid "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgstr "passada como um único argumento: bind '\"\\C-x\\C-r\": re-read-init-file'."
 
 #~ msgid "Arguments we accept:"
 #~ msgstr "Argumentos permitidos:"
 
-#~ msgid ""
-#~ "  -m  keymap         Use `keymap' as the keymap for the duration of this"
-#~ msgstr ""
-#~ "  -m  MAPA-TECLAS    Usar `MAPA-TECLAS' como mapa das teclas pela duração"
+#~ msgid "  -m  keymap         Use `keymap' as the keymap for the duration of this"
+#~ msgstr "  -m  MAPA-TECLAS    Usar `MAPA-TECLAS' como mapa das teclas pela duração"
 
 #~ msgid "                     command.  Acceptable keymap names are emacs,"
 #~ msgstr "                     deste comando.  Os nomes aceitos são emacs,"
 
-#~ msgid ""
-#~ "                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-#~ msgstr ""
-#~ "                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+#~ msgid "                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+#~ msgstr "                     emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
 
 #~ msgid "                     vi-command, and vi-insert."
 #~ msgstr "                     vi-command, and vi-insert."
@@ -6688,10 +6365,8 @@ msgstr ""
 #~ msgid "  -P                 List function names and bindings."
 #~ msgstr "  -P                 Listar nomes e associações das funções."
 
-#~ msgid ""
-#~ "  -p                 List functions and bindings in a form that can be"
-#~ msgstr ""
-#~ "  -p                 Listar nomes e associações das funções de uma forma"
+#~ msgid "  -p                 List functions and bindings in a form that can be"
+#~ msgstr "  -p                 Listar nomes e associações das funções de uma forma"
 
 #~ msgid "                     reused as input."
 #~ msgstr "                     que pode ser reutilizada como entrada."
@@ -6702,31 +6377,24 @@ msgstr ""
 #~ msgid "  -f  filename       Read key bindings from FILENAME."
 #~ msgstr "  -f  ARQUIVO        Ler os vínculos das teclas em ARQUIVO."
 
-#~ msgid ""
-#~ "  -q  function-name  Query about which keys invoke the named function."
+#~ msgid "  -q  function-name  Query about which keys invoke the named function."
 #~ msgstr "  -q  NOME-FUNÇÃO    Consultar quais teclas chamam esta função."
 
 #~ msgid "  -V                 List variable names and values"
 #~ msgstr "  -V                 Listar os nomes e os valores das variáveis."
 
-#~ msgid ""
-#~ "  -v                 List variable names and values in a form that can"
-#~ msgstr ""
-#~ "  -v                 Listar os nomes e os valores das variáveis de uma"
+#~ msgid "  -v                 List variable names and values in a form that can"
+#~ msgstr "  -v                 Listar os nomes e os valores das variáveis de uma"
 
 #~ msgid "                     be reused as input."
 #~ msgstr "                     forma que pode ser reutilizada como entrada."
 
-#~ msgid ""
-#~ "  -S                 List key sequences that invoke macros and their "
-#~ "values"
+#~ msgid "  -S                 List key sequences that invoke macros and their values"
 #~ msgstr ""
 #~ "  -S                 Listar as sequências de teclas que chamam macros\n"
 #~ "                         e seus valores."
 
-#~ msgid ""
-#~ "  -s                 List key sequences that invoke macros and their "
-#~ "values in"
+#~ msgid "  -s                 List key sequences that invoke macros and their values in"
 #~ msgstr "  -s                 Listar sequências de teclas que chamam macros"
 
 #~ msgid "                     a form that can be reused as input."
@@ -6747,8 +6415,7 @@ msgstr ""
 #~ msgstr "Se N for especificado, prossegue no N-ésimo laço envolvente."
 
 #~ msgid "Run a shell builtin.  This is useful when you wish to rename a"
-#~ msgstr ""
-#~ "Executa um comando interno do shell.  Útil quando desejamos substituir"
+#~ msgstr "Executa um comando interno do shell.  Útil quando desejamos substituir"
 
 #~ msgid "shell builtin to be a function, but need the functionality of the"
 #~ msgstr "um comando interno do shell por uma função, mas necessitamos da"
@@ -6763,12 +6430,10 @@ msgstr ""
 #~ msgstr "para DIR.  A variável $CDPATH define o caminho de procura para"
 
 #~ msgid "the directory containing DIR.  Alternative directory names in CDPATH"
-#~ msgstr ""
-#~ "o diretório que contém DIR.  Nomes de diretórios alternativos em CDPATH"
+#~ msgstr "o diretório que contém DIR.  Nomes de diretórios alternativos em CDPATH"
 
 #~ msgid "are separated by a colon (:).  A null directory name is the same as"
-#~ msgstr ""
-#~ "são separados por dois pontos (:).  Um nome de diretório nulo é o mesmo"
+#~ msgstr "são separados por dois pontos (:).  Um nome de diretório nulo é o mesmo"
 
 #~ msgid "the current directory, i.e. `.'.  If DIR begins with a slash (/),"
 #~ msgstr "que o diretório atual, i.e. `.'.  Se DIR inicia com uma barra (/),"
@@ -6777,20 +6442,15 @@ msgstr ""
 #~ msgstr "então $CDPATH não é usado.  Se o diretório não for encontrado, e a"
 
 #~ msgid "shell option `cdable_vars' is set, then try the word as a variable"
-#~ msgstr ""
-#~ "opção `cdable_vars' estiver definida, tentar usar DIR como um nome de"
+#~ msgstr "opção `cdable_vars' estiver definida, tentar usar DIR como um nome de"
 
 #~ msgid "name.  If that variable has a value, then cd to the value of that"
-#~ msgstr ""
-#~ "variável.  Se esta variável tiver valor, então `cd' para o valor desta"
+#~ msgstr "variável.  Se esta variável tiver valor, então `cd' para o valor desta"
 
-#~ msgid ""
-#~ "variable.  The -P option says to use the physical directory structure"
-#~ msgstr ""
-#~ "variável.  A opção -P indica para usar a estrutura física do diretório"
+#~ msgid "variable.  The -P option says to use the physical directory structure"
+#~ msgstr "variável.  A opção -P indica para usar a estrutura física do diretório"
 
-#~ msgid ""
-#~ "instead of following symbolic links; the -L option forces symbolic links"
+#~ msgid "instead of following symbolic links; the -L option forces symbolic links"
 #~ msgstr "em vez de seguir os vínculos simbólicos; a opção -L força seguir os"
 
 #~ msgid "to be followed."
@@ -6805,27 +6465,19 @@ msgstr ""
 #~ msgid "makes pwd follow symbolic links."
 #~ msgstr "com que `pwd' siga os vínculos simbólicos."
 
-#~ msgid ""
-#~ "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
-#~ msgstr ""
-#~ "Executa COMANDO com ARGs ignorando as funções da shell.  Ex: Havendo"
+#~ msgid "Runs COMMAND with ARGS ignoring shell functions.  If you have a shell"
+#~ msgstr "Executa COMANDO com ARGs ignorando as funções da shell.  Ex: Havendo"
 
 #~ msgid "function called `ls', and you wish to call the command `ls', you can"
-#~ msgstr ""
-#~ "uma função `ls', e se for necessário executar o comando `ls', executa-se"
+#~ msgstr "uma função `ls', e se for necessário executar o comando `ls', executa-se"
 
-#~ msgid ""
-#~ "say \"command ls\".  If the -p option is given, a default value is used"
-#~ msgstr ""
-#~ "\"command ls\".  Se a opção -p for fornecida, o valor padrão é utilizado"
+#~ msgid "say \"command ls\".  If the -p option is given, a default value is used"
+#~ msgstr "\"command ls\".  Se a opção -p for fornecida, o valor padrão é utilizado"
 
-#~ msgid ""
-#~ "for PATH that is guaranteed to find all of the standard utilities.  If"
-#~ msgstr ""
-#~ "para PATH, garantindo-se o encontro de todos os utilitários padrão. Se"
+#~ msgid "for PATH that is guaranteed to find all of the standard utilities.  If"
+#~ msgstr "para PATH, garantindo-se o encontro de todos os utilitários padrão. Se"
 
-#~ msgid ""
-#~ "the -V or -v option is given, a string is printed describing COMMAND."
+#~ msgid "the -V or -v option is given, a string is printed describing COMMAND."
 #~ msgstr "a opção -V ou -v for fornecida, é exibida a descrição do COMANDO."
 
 #~ msgid "The -V option produces a more verbose description."
@@ -6876,8 +6528,7 @@ msgstr ""
 #~ msgid "name only."
 #~ msgstr "somente."
 
-#~ msgid ""
-#~ "Using `+' instead of `-' turns off the given attribute instead.  When"
+#~ msgid "Using `+' instead of `-' turns off the given attribute instead.  When"
 #~ msgstr "Usando `+' em vez de `-' faz o atributo ser desabilitado.  Quando"
 
 #~ msgid "used in a function, makes NAMEs local, as with the `local' command."
@@ -6896,8 +6547,7 @@ msgstr ""
 #~ msgstr "Exibe ARGs.  Se -n for fornecido, o caracter final de nova linha é"
 
 #~ msgid "suppressed.  If the -e option is given, interpretation of the"
-#~ msgstr ""
-#~ "suprimido.  Se a opção -e for fornecida, a interpretação dos seguintes"
+#~ msgstr "suprimido.  Se a opção -e for fornecida, a interpretação dos seguintes"
 
 #~ msgid "following backslash-escaped characters is turned on:"
 #~ msgstr "caracteres após a contrabarra é ativada:"
@@ -6935,74 +6585,56 @@ msgstr ""
 #~ msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
 #~ msgstr "\t\\num\to caracter com código ASCII igual a NUM (octal)."
 
-#~ msgid ""
-#~ "You can explicitly turn off the interpretation of the above characters"
-#~ msgstr ""
-#~ "Pode-se explicitamente desabilitar a interpretação dos caracteres acima"
+#~ msgid "You can explicitly turn off the interpretation of the above characters"
+#~ msgstr "Pode-se explicitamente desabilitar a interpretação dos caracteres acima"
 
 #~ msgid "with the -E option."
 #~ msgstr "através da opção -E."
 
-#~ msgid ""
-#~ "Output the ARGs.  If -n is specified, the trailing newline is suppressed."
-#~ msgstr ""
-#~ "Exibe ARGS.  Se -n for fornecido, o caracter final de nova linha é "
-#~ "suprimido."
+#~ msgid "Output the ARGs.  If -n is specified, the trailing newline is suppressed."
+#~ msgstr "Exibe ARGS.  Se -n for fornecido, o caracter final de nova linha é suprimido."
 
 #~ msgid "Enable and disable builtin shell commands.  This allows"
-#~ msgstr ""
-#~ "Habilita e desabilita os comandos internos do shell, permitindo usar"
+#~ msgstr "Habilita e desabilita os comandos internos do shell, permitindo usar"
 
 #~ msgid "you to use a disk command which has the same name as a shell"
-#~ msgstr ""
-#~ "um comando de disco que tenha o mesmo nome do comando interno do shell."
+#~ msgstr "um comando de disco que tenha o mesmo nome do comando interno do shell."
 
 #~ msgid "builtin.  If -n is used, the NAMEs become disabled; otherwise"
-#~ msgstr ""
-#~ "Se -n for especificado, os NOMEs são desabilitados, senão os nomes são"
+#~ msgstr "Se -n for especificado, os NOMEs são desabilitados, senão os nomes são"
 
 #~ msgid "NAMEs are enabled.  For example, to use the `test' found on your"
-#~ msgstr ""
-#~ "habilitados. Por exemplo, para usar `test' encontrado pelo PATH em vez"
+#~ msgstr "habilitados. Por exemplo, para usar `test' encontrado pelo PATH em vez"
 
 #~ msgid "path instead of the shell builtin version, type `enable -n test'."
-#~ msgstr ""
-#~ "da versão interna do comando, digite `enable -n test'. Em sistemas que"
+#~ msgstr "da versão interna do comando, digite `enable -n test'. Em sistemas que"
 
 #~ msgid "On systems supporting dynamic loading, the -f option may be used"
-#~ msgstr ""
-#~ "suportam carregamento dinâmico, pode-se usar a opção -f para carregar"
+#~ msgstr "suportam carregamento dinâmico, pode-se usar a opção -f para carregar"
 
 #~ msgid "to load new builtins from the shared object FILENAME.  The -d"
-#~ msgstr ""
-#~ "novos comandos internos do objeto compartilhado ARQUIVO.  A opção -d"
+#~ msgstr "novos comandos internos do objeto compartilhado ARQUIVO.  A opção -d"
 
 #~ msgid "option will delete a builtin previously loaded with -f.  If no"
-#~ msgstr ""
-#~ "elimina os comandos internos previamente carregados com -f.  Se nenhum"
+#~ msgstr "elimina os comandos internos previamente carregados com -f.  Se nenhum"
 
 #~ msgid "non-option names are given, or the -p option is supplied, a list"
-#~ msgstr ""
-#~ "nome for fornecido, ou se a opção -p for fornecida, uma lista de comandos"
+#~ msgstr "nome for fornecido, ou se a opção -p for fornecida, uma lista de comandos"
 
 #~ msgid "of builtins is printed.  The -a option means to print every builtin"
-#~ msgstr ""
-#~ "internos é exibida.  A opção -a faz com que todos os comandos internos"
+#~ msgstr "internos é exibida.  A opção -a faz com que todos os comandos internos"
 
 #~ msgid "with an indication of whether or not it is enabled.  The -s option"
 #~ msgstr "sejam exibidos indicando se estão habilitados ou não.  A opção -s"
 
 #~ msgid "restricts the output to the Posix.2 `special' builtins.  The -n"
-#~ msgstr ""
-#~ "restringe a saída aos comandos internos `especiais' Posix.2.  A opção"
+#~ msgstr "restringe a saída aos comandos internos `especiais' Posix.2.  A opção"
 
 #~ msgid "option displays a list of all disabled builtins."
 #~ msgstr "-n exibe a lista de todos os comandos internos desabilitados."
 
-#~ msgid ""
-#~ "Read ARGs as input to the shell and execute the resulting command(s)."
-#~ msgstr ""
-#~ "Ler ARGs como entrada do shell e executar o(s) comando(s) resultante(s)."
+#~ msgid "Read ARGs as input to the shell and execute the resulting command(s)."
+#~ msgstr "Ler ARGs como entrada do shell e executar o(s) comando(s) resultante(s)."
 
 #~ msgid "Getopts is used by shell procedures to parse positional parameters."
 #~ msgstr ""
@@ -7031,15 +6663,13 @@ msgstr ""
 #~ msgstr "shell OPTIND.  OPTIND é inicializado com 1 cada vez que o script"
 
 #~ msgid "a shell script is invoked.  When an option requires an argument,"
-#~ msgstr ""
-#~ "do shell é chamado.  Quando uma opção requer um argumento, `getopts'"
+#~ msgstr "do shell é chamado.  Quando uma opção requer um argumento, `getopts'"
 
 #~ msgid "getopts places that argument into the shell variable OPTARG."
 #~ msgstr "coloca este argumento dentro da variável do shell OPTARG."
 
 #~ msgid "getopts reports errors in one of two ways.  If the first character"
-#~ msgstr ""
-#~ "`getopts' informa os erros de duas maneiras.  Se o primeiro caracter de"
+#~ msgstr "`getopts' informa os erros de duas maneiras.  Se o primeiro caracter de"
 
 #~ msgid "of OPTSTRING is a colon, getopts uses silent error reporting.  In"
 #~ msgstr "OPÇÕES for dois pontos, `getopts' usa o modo silencioso.  Neste"
@@ -7051,24 +6681,19 @@ msgstr ""
 #~ msgstr "encontrada, `getopts' coloca o caracter da opção em OPTARG.  Se um"
 
 #~ msgid "required argument is not found, getopts places a ':' into NAME and"
-#~ msgstr ""
-#~ "argumento requerido não for encontrado, `getopts' coloca ':' em  NOME e"
+#~ msgstr "argumento requerido não for encontrado, `getopts' coloca ':' em  NOME e"
 
 #~ msgid "sets OPTARG to the option character found.  If getopts is not in"
-#~ msgstr ""
-#~ "atribui a OPTARG o caracter de opção encontrado. Se `getopts' não está em"
+#~ msgstr "atribui a OPTARG o caracter de opção encontrado. Se `getopts' não está em"
 
 #~ msgid "silent mode, and an illegal option is seen, getopts places '?' into"
-#~ msgstr ""
-#~ "modo silencioso, e uma opção ilegal é encontrada, `getopts' coloca '?' em"
+#~ msgstr "modo silencioso, e uma opção ilegal é encontrada, `getopts' coloca '?' em"
 
 #~ msgid "NAME and unsets OPTARG.  If a required option is not found, a '?'"
-#~ msgstr ""
-#~ "NOME e desativa OPTARG.  Se uma opção requerida não é encontrada, uma '?'"
+#~ msgstr "NOME e desativa OPTARG.  Se uma opção requerida não é encontrada, uma '?'"
 
 #~ msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-#~ msgstr ""
-#~ "é colocada em NOME, OPTARG é desativado, e uma mensagem de diagnóstico é"
+#~ msgstr "é colocada em NOME, OPTARG é desativado, e uma mensagem de diagnóstico é"
 
 #~ msgid "printed."
 #~ msgstr "exibida."
@@ -7083,19 +6708,16 @@ msgstr ""
 #~ msgstr "OPTSTRING não seja dois pontos.  OPTERR tem o valor 1 por padrão."
 
 #~ msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-#~ msgstr ""
-#~ "`getopts' normalmente faz a leitura dos parãmetros posicionais ($0 - $9),"
+#~ msgstr "`getopts' normalmente faz a leitura dos parãmetros posicionais ($0 - $9),"
 
 #~ msgid "more arguments are given, they are parsed instead."
 #~ msgstr "mas, se mais argumentos forem fornecidos, então estes são lidos."
 
 #~ msgid "Exec FILE, replacing this shell with the specified program."
-#~ msgstr ""
-#~ "Executa ARQUIVO, substituindo esta shell pelo programa especificado."
+#~ msgstr "Executa ARQUIVO, substituindo esta shell pelo programa especificado."
 
 #~ msgid "If FILE is not specified, the redirections take effect in this"
-#~ msgstr ""
-#~ "Se ARQUIVO não for especificado, os redirecionamentos são efetivados"
+#~ msgstr "Se ARQUIVO não for especificado, os redirecionamentos são efetivados"
 
 #~ msgid "shell.  If the first argument is `-l', then place a dash in the"
 #~ msgstr "neste shell.  Se o primeiro argumento for `-l', coloca um hífen no"
@@ -7113,8 +6735,7 @@ msgstr ""
 #~ msgstr "Se o arquivo não puder ser executado e o shell não for interativa,"
 
 #~ msgid "then the shell exits, unless the variable \"no_exit_on_failed_exec\""
-#~ msgstr ""
-#~ "então o shell termina, a menos que a variável \"no_exit_on_failed_exec\""
+#~ msgstr "então o shell termina, a menos que a variável \"no_exit_on_failed_exec\""
 
 #~ msgid "is set."
 #~ msgstr "esteja inicializada."
@@ -7122,8 +6743,7 @@ msgstr ""
 #~ msgid "is that of the last command executed."
 #~ msgstr "de saída é igual ao do último comando executado."
 
-#~ msgid ""
-#~ "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
+#~ msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
 #~ msgstr "PRIMEIRO e ÚLTIMO podem ser números especificando o intervalo, ou"
 
 #~ msgid "string, which means the most recent command beginning with that"
@@ -7132,16 +6752,11 @@ msgstr ""
 #~ msgid "string."
 #~ msgstr "mais recente começado por estes caracteres."
 
-#~ msgid ""
-#~ "   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
-#~ msgstr ""
-#~ "   -e EDITOR seleciona qual editor usar.  O padrão é FCEDIT, depois "
-#~ "EDITOR,"
+#~ msgid "   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,"
+#~ msgstr "   -e EDITOR seleciona qual editor usar.  O padrão é FCEDIT, depois EDITOR,"
 
-#~ msgid ""
-#~ "      then the editor which corresponds to the current readline editing"
-#~ msgstr ""
-#~ "      depois o editor correspondente ao modo de edição atual da leitura"
+#~ msgid "      then the editor which corresponds to the current readline editing"
+#~ msgstr "      depois o editor correspondente ao modo de edição atual da leitura"
 
 #~ msgid "      mode, then vi."
 #~ msgstr "      de linha, e depois o vi."
@@ -7152,40 +6767,32 @@ msgstr ""
 #~ msgid "   -n means no line numbers listed."
 #~ msgstr "   -n indica para não listar os números das linhas."
 
-#~ msgid ""
-#~ "   -r means reverse the order of the lines (making it newest listed "
-#~ "first)."
-#~ msgstr ""
-#~ "   -r faz reverter a ordem das linhas (a última torna-se a primeira)."
+#~ msgid "   -r means reverse the order of the lines (making it newest listed first)."
+#~ msgstr "   -r faz reverter a ordem das linhas (a última torna-se a primeira)."
 
 #~ msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-#~ msgstr ""
-#~ "No formato `fc -s [ANTIGO=NOVO ...] [COMANDO]', o comando é executado"
+#~ msgstr "No formato `fc -s [ANTIGO=NOVO ...] [COMANDO]', o comando é executado"
 
 #~ msgid "re-executed after the substitution OLD=NEW is performed."
 #~ msgstr "novamente após a substituição de ANTIGO por NOVO ser realizada."
 
 #~ msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-#~ msgstr ""
-#~ "Um alias útil a ser usado é r='fc -s' para que, ao se digitar `r cc',"
+#~ msgstr "Um alias útil a ser usado é r='fc -s' para que, ao se digitar `r cc',"
 
 #~ msgid "runs the last command beginning with `cc' and typing `r' re-executes"
 #~ msgstr "seja executado o último comando começado por `cc' e, ao se digitar"
 
 #~ msgid "Place JOB_SPEC in the foreground, and make it the current job.  If"
-#~ msgstr ""
-#~ "Colocar JOB-ESPECIFICADO no primeiro plano, e torná-lo o trabalho atual."
+#~ msgstr "Colocar JOB-ESPECIFICADO no primeiro plano, e torná-lo o trabalho atual."
 
 #~ msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-#~ msgstr ""
-#~ "Se JOB-ESPECIFICADO não estiver presente, a noção do shell do trabalho"
+#~ msgstr "Se JOB-ESPECIFICADO não estiver presente, a noção do shell do trabalho"
 
 #~ msgid "used."
 #~ msgstr "atual é utilizada."
 
 #~ msgid "Place JOB_SPEC in the background, as if it had been started with"
-#~ msgstr ""
-#~ "Colocar JOB-ESPECIFICADO no segundo plano, como se tivesse sido ativado"
+#~ msgstr "Colocar JOB-ESPECIFICADO no segundo plano, como se tivesse sido ativado"
 
 #~ msgid "`&'.  If JOB_SPEC is not present, the shell's notion of the current"
 #~ msgstr "com `&'. Se JOB-ESPECIFICADO não estiver presente, a noção do shell"
@@ -7194,22 +6801,18 @@ msgstr ""
 #~ msgstr "do trabalho atual é utilizada."
 
 #~ msgid "For each NAME, the full pathname of the command is determined and"
-#~ msgstr ""
-#~ "Para cada NOME, o caminho completo do comando é determinado e lembrado."
+#~ msgstr "Para cada NOME, o caminho completo do comando é determinado e lembrado."
 
 #~ msgid "remembered.  If the -p option is supplied, PATHNAME is used as the"
-#~ msgstr ""
-#~ "Se a opção -p for fornecida, CAMINHO é utilizado como o caminho completo"
+#~ msgstr "Se a opção -p for fornecida, CAMINHO é utilizado como o caminho completo"
 
 #~ msgid "full pathname of NAME, and no path search is performed.  The -r"
 #~ msgstr "para NOME, e nenhuma procura de caminho é realizada.  A opção -r"
 
 #~ msgid "option causes the shell to forget all remembered locations.  If no"
-#~ msgstr ""
-#~ "faz com que a shell esqueça todas as localizações lembradas.  Sem nenhum"
+#~ msgstr "faz com que a shell esqueça todas as localizações lembradas.  Sem nenhum"
 
-#~ msgid ""
-#~ "arguments are given, information about remembered commands is displayed."
+#~ msgid "arguments are given, information about remembered commands is displayed."
 #~ msgstr "argumento, as informações sobre os comandos lembrados são exibidas."
 
 #~ msgid "Display helpful information about builtin commands.  If PATTERN is"
@@ -7219,12 +6822,10 @@ msgstr ""
 #~ msgstr "especificado, fornece ajuda detalhada para todos os comandos que"
 
 #~ msgid "otherwise a list of the builtins is printed."
-#~ msgstr ""
-#~ "correspondem ao PADRÃO, senão a lista dos comandos internos é exibida."
+#~ msgstr "correspondem ao PADRÃO, senão a lista dos comandos internos é exibida."
 
 #~ msgid "Display the history list with line numbers.  Lines listed with"
-#~ msgstr ""
-#~ "Exibe a lista histórica com os números das linhas. Linhas contendo um"
+#~ msgstr "Exibe a lista histórica com os números das linhas. Linhas contendo um"
 
 #~ msgid "with a `*' have been modified.  Argument of N says to list only"
 #~ msgstr "`*' foram modificadas.  O argumento N faz listar somente as últimas"
@@ -7232,19 +6833,14 @@ msgstr ""
 #~ msgid "the last N lines.  The -c option causes the history list to be"
 #~ msgstr "N linhas.  A opção -c faz com que a lista histórica seja apagada"
 
-#~ msgid ""
-#~ "cleared by deleting all of the entries.  The `-w' option writes out the"
-#~ msgstr ""
-#~ "removendo todas as entradas.  A opção `-w' escreve o histórico atual no"
+#~ msgid "cleared by deleting all of the entries.  The `-w' option writes out the"
+#~ msgstr "removendo todas as entradas.  A opção `-w' escreve o histórico atual no"
 
-#~ msgid ""
-#~ "current history to the history file;  `-r' means to read the file and"
-#~ msgstr ""
-#~ "arquivo de histórico;  A opção `-r' significa ler o arquivo e apensar seu"
+#~ msgid "current history to the history file;  `-r' means to read the file and"
+#~ msgstr "arquivo de histórico;  A opção `-r' significa ler o arquivo e apensar seu"
 
 #~ msgid "append the contents to the history list instead.  `-a' means"
-#~ msgstr ""
-#~ "conteúdo à lista histórica.  A opção `-a' significa apensar as linhas de"
+#~ msgstr "conteúdo à lista histórica.  A opção `-a' significa apensar as linhas de"
 
 #~ msgid "to append history lines from this session to the history file."
 #~ msgstr "histórico desta sessão ao arquivo de histórico."
@@ -7253,113 +6849,82 @@ msgstr ""
 #~ msgstr "A opção `-n' faz ler todas as linhas de histórico ainda não lidas"
 
 #~ msgid "from the history file and append them to the history list.  If"
-#~ msgstr ""
-#~ "do arquivo histórico, e apensá-las à lista de histórico.  Se ARQUIVO"
+#~ msgstr "do arquivo histórico, e apensá-las à lista de histórico.  Se ARQUIVO"
 
 #~ msgid "FILENAME is given, then that is used as the history file else"
 #~ msgstr "for fornecido, então este é usado como arquivo de histórico, senão"
 
 #~ msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-#~ msgstr ""
-#~ "se $HISTFILE possui valor, este é usado, senão ~/.bash_history.  Se a"
+#~ msgstr "se $HISTFILE possui valor, este é usado, senão ~/.bash_history.  Se a"
 
 #~ msgid "If the -s option is supplied, the non-option ARGs are appended to"
-#~ msgstr ""
-#~ "opção -s for fornecida, os ARGs, que não forem opções, são apensados à"
+#~ msgstr "opção -s for fornecida, os ARGs, que não forem opções, são apensados à"
 
 #~ msgid "the history list as a single entry.  The -p option means to perform"
-#~ msgstr ""
-#~ "lista histórica como uma única entrada. A opção -p significa realizar a"
+#~ msgstr "lista histórica como uma única entrada. A opção -p significa realizar a"
 
-#~ msgid ""
-#~ "history expansion on each ARG and display the result, without storing"
-#~ msgstr ""
-#~ "expansão da história em cada ARG e exibir o resultado, sem armazenar"
+#~ msgid "history expansion on each ARG and display the result, without storing"
+#~ msgstr "expansão da história em cada ARG e exibir o resultado, sem armazenar"
 
 #~ msgid "anything in the history list."
 #~ msgstr "nada na lista de histórico."
 
 #~ msgid "Lists the active jobs.  The -l option lists process id's in addition"
-#~ msgstr ""
-#~ "Lista os trabalhos ativos.  A opção -l lista os ID's dos processos além"
+#~ msgstr "Lista os trabalhos ativos.  A opção -l lista os ID's dos processos além"
 
 #~ msgid "to the normal information; the -p option lists process id's only."
-#~ msgstr ""
-#~ "das informações usuais;  a opção -p lista somente os ID's dos processos."
+#~ msgstr "das informações usuais;  a opção -p lista somente os ID's dos processos."
 
-#~ msgid ""
-#~ "If -n is given, only processes that have changed status since the last"
-#~ msgstr ""
-#~ "Se -n for fornecido, somente os processos que mudaram de status desde a"
+#~ msgid "If -n is given, only processes that have changed status since the last"
+#~ msgstr "Se -n for fornecido, somente os processos que mudaram de status desde a"
 
-#~ msgid ""
-#~ "notification are printed.  JOBSPEC restricts output to that job.  The"
-#~ msgstr ""
-#~ "última notificação são exibidos.  JOB-ESPECIFICADO restringe a saída a "
-#~ "este"
+#~ msgid "notification are printed.  JOBSPEC restricts output to that job.  The"
+#~ msgstr "última notificação são exibidos.  JOB-ESPECIFICADO restringe a saída a este"
 
 #~ msgid "-r and -s options restrict output to running and stopped jobs only,"
-#~ msgstr ""
-#~ "trabalho.  As opções -r e -s restringem a saída apenas aos trabalhos"
+#~ msgstr "trabalho.  As opções -r e -s restringem a saída apenas aos trabalhos"
 
 #~ msgid "respectively.  Without options, the status of all active jobs is"
-#~ msgstr ""
-#~ "executando e parados, respectivamente.  Sem opções, o status de todos os"
+#~ msgstr "executando e parados, respectivamente.  Sem opções, o status de todos os"
 
-#~ msgid ""
-#~ "printed.  If -x is given, COMMAND is run after all job specifications"
-#~ msgstr ""
-#~ "trabalhos ativos são exibidos.  Se -x for fornecido, COMANDO é executado"
+#~ msgid "printed.  If -x is given, COMMAND is run after all job specifications"
+#~ msgstr "trabalhos ativos são exibidos.  Se -x for fornecido, COMANDO é executado"
 
-#~ msgid ""
-#~ "that appear in ARGS have been replaced with the process ID of that job's"
-#~ msgstr ""
-#~ "após todas as especificações de trabalho que aparecem em ARGS terem sido"
+#~ msgid "that appear in ARGS have been replaced with the process ID of that job's"
+#~ msgstr "após todas as especificações de trabalho que aparecem em ARGS terem sido"
 
 #~ msgid "process group leader."
 #~ msgstr "substituídas pelo ID do processo líder deste grupo de processos."
 
 #~ msgid "Removes each JOBSPEC argument from the table of active jobs."
-#~ msgstr ""
-#~ "Remove cada argumento JOB-ESPECIFICADO da tabela de trabalhos ativos."
+#~ msgstr "Remove cada argumento JOB-ESPECIFICADO da tabela de trabalhos ativos."
 
 #~ msgid "Send the processes named by PID (or JOB) the signal SIGSPEC.  If"
-#~ msgstr ""
-#~ "Envia ao processo identificado pelo PID (ou JOB) o sinal SIGSPEC.  Se"
+#~ msgstr "Envia ao processo identificado pelo PID (ou JOB) o sinal SIGSPEC.  Se"
 
-#~ msgid ""
-#~ "SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'"
-#~ msgstr ""
-#~ "SIGSPEC não estiver presente, então SIGTERM é assumido.  A opção `-l'"
+#~ msgid "SIGSPEC is not present, then SIGTERM is assumed.  An argument of `-l'"
+#~ msgstr "SIGSPEC não estiver presente, então SIGTERM é assumido.  A opção `-l'"
 
 #~ msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-#~ msgstr ""
-#~ "lista os nomes dos sinais;  havendo argumentos após `-l', são assumidos"
+#~ msgstr "lista os nomes dos sinais;  havendo argumentos após `-l', são assumidos"
 
 #~ msgid "be signal numbers for which names should be listed.  Kill is a shell"
-#~ msgstr ""
-#~ "como sendo os números dos sinais cujos nomes devem ser exibidos.  Kill"
+#~ msgstr "como sendo os números dos sinais cujos nomes devem ser exibidos.  Kill"
 
 #~ msgid "builtin for two reasons: it allows job IDs to be used instead of"
-#~ msgstr ""
-#~ "é um comando interno por duas razões: permite o uso do ID do trabalho em"
+#~ msgstr "é um comando interno por duas razões: permite o uso do ID do trabalho em"
 
 #~ msgid "process IDs, and, if you have reached the limit on processes that"
-#~ msgstr ""
-#~ "vez do ID do processo e, caso tenha sido atingido o limite de processos "
-#~ "que"
+#~ msgstr "vez do ID do processo e, caso tenha sido atingido o limite de processos que"
 
-#~ msgid ""
-#~ "you can create, you don't have to start a process to kill another one."
-#~ msgstr ""
-#~ "podem ser criados, não é necessário um novo processo para remover outro."
+#~ msgid "you can create, you don't have to start a process to kill another one."
+#~ msgstr "podem ser criados, não é necessário um novo processo para remover outro."
 
 #~ msgid "Each ARG is an arithmetic expression to be evaluated.  Evaluation"
 #~ msgstr "Cada ARG é uma expressão aritmética a ser avaliada.  A avaliação é"
 
 #~ msgid "is done in long integers with no check for overflow, though division"
-#~ msgstr ""
-#~ "feita usando inteiros longos sem verificar estouro, embora a divisão"
+#~ msgstr "feita usando inteiros longos sem verificar estouro, embora a divisão"
 
 #~ msgid "by 0 is trapped and flagged as an error.  The following list of"
 #~ msgstr "por 0 seja capturada e indicada como erro.  A lista abaixo está"
@@ -7431,8 +6996,7 @@ msgstr ""
 #~ msgstr "ativo para ser usada em uma expressão."
 
 #~ msgid "Operators are evaluated in order of precedence.  Sub-expressions in"
-#~ msgstr ""
-#~ "Os operadores são avaliados em ordem de precedência.  Sub-expressões"
+#~ msgstr "Os operadores são avaliados em ordem de precedência.  Sub-expressões"
 
 #~ msgid "parentheses are evaluated first and may override the precedence"
 #~ msgstr "entre parênteses são avaliadas primeiro e podem prevalecer sobre as"
@@ -7449,76 +7013,53 @@ msgstr ""
 #~ msgid "One line is read from the standard input, and the first word is"
 #~ msgstr "Uma linha é lida a partir da entrada padrão, e a primeira palavra é"
 
-#~ msgid ""
-#~ "assigned to the first NAME, the second word to the second NAME, and so"
-#~ msgstr ""
-#~ "atribuída ao primeiro NOME, a segunda ao segundo NOME, e assim por diante,"
+#~ msgid "assigned to the first NAME, the second word to the second NAME, and so"
+#~ msgstr "atribuída ao primeiro NOME, a segunda ao segundo NOME, e assim por diante,"
 
-#~ msgid ""
-#~ "on, with leftover words assigned to the last NAME.  Only the characters"
-#~ msgstr ""
-#~ "com as palavras restantes atribuídas ao último NOME.  Somente os "
-#~ "caracteres"
+#~ msgid "on, with leftover words assigned to the last NAME.  Only the characters"
+#~ msgstr "com as palavras restantes atribuídas ao último NOME.  Somente os caracteres"
 
 #~ msgid "found in $IFS are recognized as word delimiters.  The return code is"
-#~ msgstr ""
-#~ "encontrados em $IFS são reconhecidos como delimitadores. O código de "
-#~ "retorno"
+#~ msgstr "encontrados em $IFS são reconhecidos como delimitadores. O código de retorno"
 
-#~ msgid ""
-#~ "zero, unless end-of-file is encountered.  If no NAMEs are supplied, the"
-#~ msgstr ""
-#~ "é zero, a menos que EOF seja encontrado.  Se nenhum NOME for fornecido,"
+#~ msgid "zero, unless end-of-file is encountered.  If no NAMEs are supplied, the"
+#~ msgstr "é zero, a menos que EOF seja encontrado.  Se nenhum NOME for fornecido,"
 
-#~ msgid ""
-#~ "line read is stored in the REPLY variable.  If the -r option is given,"
-#~ msgstr ""
-#~ "a linha lida é armazenada na variável REPLY.  Se a opção -r for fornecida,"
+#~ msgid "line read is stored in the REPLY variable.  If the -r option is given,"
+#~ msgstr "a linha lida é armazenada na variável REPLY.  Se a opção -r for fornecida,"
 
 #~ msgid "this signifies `raw' input, and backslash escaping is disabled.  If"
-#~ msgstr ""
-#~ "significa entrada `textual', desabilitando a interpretação da contrabarra."
+#~ msgstr "significa entrada `textual', desabilitando a interpretação da contrabarra."
 
 #~ msgid "the `-p' option is supplied, the string supplied as an argument is"
-#~ msgstr ""
-#~ "Se a opção `-p' for fornecida a MENSAGEM fornecida como argumento é "
-#~ "exibida,"
+#~ msgstr "Se a opção `-p' for fornecida a MENSAGEM fornecida como argumento é exibida,"
 
-#~ msgid ""
-#~ "output without a trailing newline before attempting to read.  If -a is"
-#~ msgstr ""
-#~ "sem o caracter de nova linha, antes de efetuar a leitura.  Se a opção -a"
+#~ msgid "output without a trailing newline before attempting to read.  If -a is"
+#~ msgstr "sem o caracter de nova linha, antes de efetuar a leitura.  Se a opção -a"
 
-#~ msgid ""
-#~ "supplied, the words read are assigned to sequential indices of ARRAY,"
-#~ msgstr ""
-#~ "for fornecida, as palavras lidas são atribuídas aos índices sequenciais"
+#~ msgid "supplied, the words read are assigned to sequential indices of ARRAY,"
+#~ msgstr "for fornecida, as palavras lidas são atribuídas aos índices sequenciais"
 
 #~ msgid "starting at zero.  If -e is supplied and the shell is interactive,"
-#~ msgstr ""
-#~ "do ARRAY, começando por zero.  Se a opção -e for fornecida, e a shell for"
+#~ msgstr "do ARRAY, começando por zero.  Se a opção -e for fornecida, e a shell for"
 
 #~ msgid "readline is used to obtain the line."
 #~ msgstr "interativa, `readline' é utilizado para ler a linha."
 
-#~ msgid ""
-#~ "Causes a function to exit with the return value specified by N.  If N"
+#~ msgid "Causes a function to exit with the return value specified by N.  If N"
 #~ msgstr "Faz a função terminar com o valor de retorno especificado por N."
 
 #~ msgid "is omitted, the return status is that of the last command."
 #~ msgstr "Se N for omitido, retorna o status do último comando executado."
 
 #~ msgid "    -a  Mark variables which are modified or created for export."
-#~ msgstr ""
-#~ "    -a  Marcar para exportação as variáveis que são criadas ou "
-#~ "modificadas."
+#~ msgstr "    -a  Marcar para exportação as variáveis que são criadas ou modificadas."
 
 #~ msgid "    -b  Notify of job termination immediately."
 #~ msgstr "    -b  Notificar imediatamente o término do trabalho."
 
 #~ msgid "    -e  Exit immediately if a command exits with a non-zero status."
-#~ msgstr ""
-#~ "    -e  Terminar imediatamente se um comando terminar com status != 0."
+#~ msgstr "    -e  Terminar imediatamente se um comando terminar com status != 0."
 
 #~ msgid "    -f  Disable file name generation (globbing)."
 #~ msgstr "    -f  Desabilitar a geração de nome de arquivo (metacaracteres)."
@@ -7526,16 +7067,14 @@ msgstr ""
 #~ msgid "    -h  Remember the location of commands as they are looked up."
 #~ msgstr "    -h  Lembrar da localização dos comandos ao procurá-los."
 
-#~ msgid ""
-#~ "    -i  Force the shell to be an \"interactive\" one.  Interactive shells"
+#~ msgid "    -i  Force the shell to be an \"interactive\" one.  Interactive shells"
 #~ msgstr "    -i  Forçar a shell ser do tipo \"interativa\".  `Shells'"
 
 #~ msgid "        always read `~/.bashrc' on startup."
 #~ msgstr "        interativas sempre lêem `~/.bashrc' ao iniciar."
 
 #~ msgid "    -k  All assignment arguments are placed in the environment for a"
-#~ msgstr ""
-#~ "    -k  Todos os argumentos de atribuição são colocados no ambiente,"
+#~ msgstr "    -k  Todos os argumentos de atribuição são colocados no ambiente,"
 
 #~ msgid "        command, not just those that precede the command name."
 #~ msgstr "        e não somente os que precedem o nome do comando."
@@ -7559,8 +7098,7 @@ msgstr ""
 #~ msgstr "            braceexpand  o mesmo que -B"
 
 #~ msgid "            emacs        use an emacs-style line editing interface"
-#~ msgstr ""
-#~ "            emacs        usar interface de edição de linha estilo emacs"
+#~ msgstr "            emacs        usar interface de edição de linha estilo emacs"
 
 #~ msgid "            errexit      same as -e"
 #~ msgstr "            errexit      o mesmo que -e"
@@ -7577,10 +7115,8 @@ msgstr ""
 #~ msgid "            interactive-comments"
 #~ msgstr "            interactive-comments"
 
-#~ msgid ""
-#~ "                         allow comments to appear in interactive commands"
-#~ msgstr ""
-#~ "                         permite comentários em comandos interativos"
+#~ msgid "                         allow comments to appear in interactive commands"
+#~ msgstr "                         permite comentários em comandos interativos"
 
 #~ msgid "            keyword      same as -k"
 #~ msgstr "            keyword      o mesmo que -k"
@@ -7609,15 +7145,11 @@ msgstr ""
 #~ msgid "            physical     same as -P"
 #~ msgstr "            physical     o mesmo que -P"
 
-#~ msgid ""
-#~ "            posix        change the behavior of bash where the default"
-#~ msgstr ""
-#~ "            posix        mudar o comportamento do `bash' onde o padrão"
+#~ msgid "            posix        change the behavior of bash where the default"
+#~ msgstr "            posix        mudar o comportamento do `bash' onde o padrão"
 
-#~ msgid ""
-#~ "                         operation differs from the 1003.2 standard to"
-#~ msgstr ""
-#~ "                         for diferente do padrão 1003.2, para tornar"
+#~ msgid "                         operation differs from the 1003.2 standard to"
+#~ msgstr "                         for diferente do padrão 1003.2, para tornar"
 
 #~ msgid "                         match the standard"
 #~ msgstr "                         igual ao padrão"
@@ -7629,26 +7161,19 @@ msgstr ""
 #~ msgstr "            verbose      o mesmo que -v"
 
 #~ msgid "            vi           use a vi-style line editing interface"
-#~ msgstr ""
-#~ "            vi           usar interface de edição de linha estilo vi"
+#~ msgstr "            vi           usar interface de edição de linha estilo vi"
 
 #~ msgid "            xtrace       same as -x"
 #~ msgstr "            xtrace       o mesmo que -x"
 
-#~ msgid ""
-#~ "    -p  Turned on whenever the real and effective user ids do not match."
-#~ msgstr ""
-#~ "    -p  Habilitado sempre que o usuário real e efetivo forem diferentes."
+#~ msgid "    -p  Turned on whenever the real and effective user ids do not match."
+#~ msgstr "    -p  Habilitado sempre que o usuário real e efetivo forem diferentes."
 
 #~ msgid "        Disables processing of the $ENV file and importing of shell"
-#~ msgstr ""
-#~ "        Desabilita o processamento do arquivo $ENV e importação das "
-#~ "funções"
+#~ msgstr "        Desabilita o processamento do arquivo $ENV e importação das funções"
 
-#~ msgid ""
-#~ "        functions.  Turning this option off causes the effective uid and"
-#~ msgstr ""
-#~ "        da shell.  Desabilitando esta opção faz com que o `uid' e `gid'"
+#~ msgid "        functions.  Turning this option off causes the effective uid and"
+#~ msgstr "        da shell.  Desabilitando esta opção faz com que o `uid' e `gid'"
 
 #~ msgid "        gid to be set to the real uid and gid."
 #~ msgstr "        efetivos sejam feitos o mesmo que o `uid' e `gid' reais."
@@ -7657,8 +7182,7 @@ msgstr ""
 #~ msgstr "    -t  Sair após ler e executar um comando."
 
 #~ msgid "    -u  Treat unset variables as an error when substituting."
-#~ msgstr ""
-#~ "    -u  Tratar como erro as variáveis não inicializadas na substituição."
+#~ msgstr "    -u  Tratar como erro as variáveis não inicializadas na substituição."
 
 #~ msgid "    -v  Print shell input lines as they are read."
 #~ msgstr "    -v  Exibir as linhas de entrada da shell ao lê-las."
@@ -7691,13 +7215,10 @@ msgstr ""
 #~ msgstr "Usando + em vez de - faz com que as opções sejam desabilitadas. As"
 
 #~ msgid "flags can also be used upon invocation of the shell.  The current"
-#~ msgstr ""
-#~ "opções também podem ser usadas na chamada da shell.  O conjunto atual"
+#~ msgstr "opções também podem ser usadas na chamada da shell.  O conjunto atual"
 
-#~ msgid ""
-#~ "set of flags may be found in $-.  The remaining n ARGs are positional"
-#~ msgstr ""
-#~ "de opções pode ser encontrado em $-. Os n ARGs restantes são parâmetros"
+#~ msgid "set of flags may be found in $-.  The remaining n ARGs are positional"
+#~ msgstr "de opções pode ser encontrado em $-. Os n ARGs restantes são parâmetros"
 
 #~ msgid "parameters and are assigned, in order, to $1, $2, .. $n.  If no"
 #~ msgstr "posicionais e são atribuídos, em ordem, a $1, $2, .. $n.  Se nenhum"
@@ -7706,12 +7227,10 @@ msgstr ""
 #~ msgstr "ARG for fornecido, todas as variáveis da shell são exibidas."
 
 #~ msgid "For each NAME, remove the corresponding variable or function.  Given"
-#~ msgstr ""
-#~ "Para cada NOME, remove a variável ou a função correspondente.  Usando-se a"
+#~ msgstr "Para cada NOME, remove a variável ou a função correspondente.  Usando-se a"
 
 #~ msgid "the `-v', unset will only act on variables.  Given the `-f' flag,"
-#~ msgstr ""
-#~ "opção `-v', `unset' atua somente nas variáveis.  Usando-se a opção `-f'"
+#~ msgstr "opção `-v', `unset' atua somente nas variáveis.  Usando-se a opção `-f'"
 
 #~ msgid "unset will only act on functions.  With neither flag, unset first"
 #~ msgstr "`unset' atua somente nas funções.  Sem nenhuma opção, inicialmente"
@@ -7719,32 +7238,26 @@ msgstr ""
 #~ msgid "tries to unset a variable, and if that fails, then tries to unset a"
 #~ msgstr "`unset' tenta remover uma variável e, se falhar, tenta remover uma"
 
-#~ msgid ""
-#~ "function.  Some variables (such as PATH and IFS) cannot be unset; also"
-#~ msgstr ""
-#~ "função.  Algumas variáveis (como PATH e IFS) não podem ser removidas."
+#~ msgid "function.  Some variables (such as PATH and IFS) cannot be unset; also"
+#~ msgstr "função.  Algumas variáveis (como PATH e IFS) não podem ser removidas."
 
 #~ msgid "see readonly."
 #~ msgstr "Veja também o comando `readonly'."
 
 #~ msgid "NAMEs are marked for automatic export to the environment of"
-#~ msgstr ""
-#~ "NOMEs são marcados para serem automaticamente exportados para o ambiente"
+#~ msgstr "NOMEs são marcados para serem automaticamente exportados para o ambiente"
 
 #~ msgid "subsequently executed commands.  If the -f option is given,"
 #~ msgstr "dos comando executados a seguir.  Se a opção -f for fornecida,"
 
 #~ msgid "the NAMEs refer to functions.  If no NAMEs are given, or if `-p'"
-#~ msgstr ""
-#~ "os NOMEs se referem a funções.  Se nenhum nome for fornecido, ou se `-p'"
+#~ msgstr "os NOMEs se referem a funções.  Se nenhum nome for fornecido, ou se `-p'"
 
 #~ msgid "is given, a list of all names that are exported in this shell is"
-#~ msgstr ""
-#~ "for usado, uma lista com todos os nomes que são exportados nesta shell é"
+#~ msgstr "for usado, uma lista com todos os nomes que são exportados nesta shell é"
 
 #~ msgid "printed.  An argument of `-n' says to remove the export property"
-#~ msgstr ""
-#~ "exibida.  O argumento `-n' faz remover a propriedade de exportação dos"
+#~ msgstr "exibida.  O argumento `-n' faz remover a propriedade de exportação dos"
 
 #~ msgid "from subsequent NAMEs.  An argument of `--' disables further option"
 #~ msgstr "NOMEs subsequentes.  O argumento `--' desabilita o processamento de"
@@ -7752,40 +7265,29 @@ msgstr ""
 #~ msgid "processing."
 #~ msgstr "opções posteriores."
 
-#~ msgid ""
-#~ "The given NAMEs are marked readonly and the values of these NAMEs may"
-#~ msgstr ""
-#~ "Os NOMEs são marcados como somente para leitura, e os valores destes"
+#~ msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
+#~ msgstr "Os NOMEs são marcados como somente para leitura, e os valores destes"
 
 #~ msgid "not be changed by subsequent assignment.  If the -f option is given,"
-#~ msgstr ""
-#~ "NOMEs não poderão ser alterados por novas atribuições.  Se a opção -f for"
+#~ msgstr "NOMEs não poderão ser alterados por novas atribuições.  Se a opção -f for"
 
 #~ msgid "then functions corresponding to the NAMEs are so marked.  If no"
-#~ msgstr ""
-#~ "fornecida, as funções correspondentes a NOMEs também são marcadas.  Sem"
+#~ msgstr "fornecida, as funções correspondentes a NOMEs também são marcadas.  Sem"
 
-#~ msgid ""
-#~ "arguments are given, or if `-p' is given, a list of all readonly names"
-#~ msgstr ""
-#~ "nenhum argumento, ou se `-p' for usado, uma lista com todos os nomes"
+#~ msgid "arguments are given, or if `-p' is given, a list of all readonly names"
+#~ msgstr "nenhum argumento, ou se `-p' for usado, uma lista com todos os nomes"
 
-#~ msgid ""
-#~ "is printed.  An argument of `-n' says to remove the readonly property"
-#~ msgstr ""
-#~ "somente para leitura é exibida.  O argumento `-n' remove a propriedade"
+#~ msgid "is printed.  An argument of `-n' says to remove the readonly property"
+#~ msgstr "somente para leitura é exibida.  O argumento `-n' remove a propriedade"
 
 #~ msgid "from subsequent NAMEs.  The `-a' option means to treat each NAME as"
 #~ msgstr "somente para leitura.  A opção `-a' faz tratar cada NOME como uma"
 
 #~ msgid "an array variable.  An argument of `--' disables further option"
-#~ msgstr ""
-#~ "variável tipo array.  Um argumento `--' desabilita o processamento de"
+#~ msgstr "variável tipo array.  Um argumento `--' desabilita o processamento de"
 
-#~ msgid ""
-#~ "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
-#~ msgstr ""
-#~ "Os parâmetros posicionais a partir de $N+1 ... são deslocados para $1 ..."
+#~ msgid "The positional parameters from $N+1 ... are renamed to $1 ...  If N is"
+#~ msgstr "Os parâmetros posicionais a partir de $N+1 ... são deslocados para $1 ..."
 
 #~ msgid "not given, it is assumed to be 1."
 #~ msgstr "Se N não for especificado, o valor 1 é assumido ($2 vira $1 ...)."
@@ -7797,31 +7299,25 @@ msgstr ""
 #~ msgstr "$PATH são usados para encontrar o diretório contendo o ARQUIVO."
 
 #~ msgid "Suspend the execution of this shell until it receives a SIGCONT"
-#~ msgstr ""
-#~ "Suspender a execução desta shell até que o sinal SIGCONT seja recebido."
+#~ msgstr "Suspender a execução desta shell até que o sinal SIGCONT seja recebido."
 
 #~ msgid "signal.  The `-f' if specified says not to complain about this"
 #~ msgstr "Se a opção `-f' for especificada indica para não reclamar sobre ser"
 
 #~ msgid "being a login shell if it is; just suspend anyway."
-#~ msgstr ""
-#~ "uma `shell de login', caso seja; simplesmente suspender de qualquer forma."
+#~ msgstr "uma `shell de login', caso seja; simplesmente suspender de qualquer forma."
 
 #~ msgid "Exits with a status of 0 (trueness) or 1 (falseness) depending on"
-#~ msgstr ""
-#~ "Termina com status 0 (verdadeiro) ou 1 (falso) conforme EXPR for avaliada."
+#~ msgstr "Termina com status 0 (verdadeiro) ou 1 (falso) conforme EXPR for avaliada."
 
 #~ msgid "the evaluation of EXPR.  Expressions may be unary or binary.  Unary"
-#~ msgstr ""
-#~ "As expressões podem ser unárias ou binárias. As expressões unárias são"
+#~ msgstr "As expressões podem ser unárias ou binárias. As expressões unárias são"
 
 #~ msgid "expressions are often used to examine the status of a file.  There"
-#~ msgstr ""
-#~ "muito usadas para examinar o status de um arquivo.  Existem, também,"
+#~ msgstr "muito usadas para examinar o status de um arquivo.  Existem, também,"
 
 #~ msgid "are string operators as well, and numeric comparison operators."
-#~ msgstr ""
-#~ "operadores para cadeias de caracteres (strings) e comparações numéricas."
+#~ msgstr "operadores para cadeias de caracteres (strings) e comparações numéricas."
 
 #~ msgid "File operators:"
 #~ msgstr "Operadores para arquivos:"
@@ -7830,8 +7326,7 @@ msgstr ""
 #~ msgstr "    -b ARQUIVO  Verdade se o arquivo for do tipo especial de bloco."
 
 #~ msgid "    -c FILE        True if file is character special."
-#~ msgstr ""
-#~ "    -c ARQUIVO  Verdade se o arquivo for do tipo especial de caracter."
+#~ msgstr "    -c ARQUIVO  Verdade se o arquivo for do tipo especial de caracter."
 
 #~ msgid "    -d FILE        True if file is a directory."
 #~ msgstr "    -d ARQUIVO  Verdade se o arquivo for um diretório."
@@ -7843,12 +7338,10 @@ msgstr ""
 #~ msgstr "    -f ARQUIVO  Verdade se o arquivo existir e for do tipo regular."
 
 #~ msgid "    -g FILE        True if file is set-group-id."
-#~ msgstr ""
-#~ "    -g ARQUIVO  Verdade se o arquivo tiver o bit \"set-group-id\" ativo."
+#~ msgstr "    -g ARQUIVO  Verdade se o arquivo tiver o bit \"set-group-id\" ativo."
 
 #~ msgid "    -h FILE        True if file is a symbolic link.  Use \"-L\"."
-#~ msgstr ""
-#~ "    -h ARQUIVO  Verdade se arquivo for um vínculo simbólico.  Usar \"-L\"."
+#~ msgstr "    -h ARQUIVO  Verdade se arquivo for um vínculo simbólico.  Usar \"-L\"."
 
 #~ msgid "    -L FILE        True if file is a symbolic link."
 #~ msgstr "    -L ARQUIVO  Verdade se o arquivo for um vínculo simbólico."
@@ -7860,8 +7353,7 @@ msgstr ""
 #~ msgstr "    -p ARQUIVO  Verdade se o arquivo for um `named pipe'."
 
 #~ msgid "    -r FILE        True if file is readable by you."
-#~ msgstr ""
-#~ "    -r ARQUIVO  Verdade se você tiver autorização para ler o arquivo."
+#~ msgstr "    -r ARQUIVO  Verdade se você tiver autorização para ler o arquivo."
 
 #~ msgid "    -s FILE        True if file exists and is not empty."
 #~ msgstr "    -s ARQUIVO  Verdade se o arquivo existir e não estiver vazio."
@@ -7875,26 +7367,19 @@ msgstr ""
 #~ "                    em um terminal."
 
 #~ msgid "    -u FILE        True if the file is set-user-id."
-#~ msgstr ""
-#~ "    -u ARQUIVO  Verdade se o arquivo tiver o bit \"set-user-id\" ativo."
+#~ msgstr "    -u ARQUIVO  Verdade se o arquivo tiver o bit \"set-user-id\" ativo."
 
 #~ msgid "    -w FILE        True if the file is writable by you."
-#~ msgstr ""
-#~ "    -w ARQUIVO  Verdade se você tiver autorização para escrever no "
-#~ "arquivo."
+#~ msgstr "    -w ARQUIVO  Verdade se você tiver autorização para escrever no arquivo."
 
 #~ msgid "    -x FILE        True if the file is executable by you."
-#~ msgstr ""
-#~ "    -x ARQUIVO  Verdade se você tiver autorização para executar o arquivo."
+#~ msgstr "    -x ARQUIVO  Verdade se você tiver autorização para executar o arquivo."
 
 #~ msgid "    -O FILE        True if the file is effectively owned by you."
-#~ msgstr ""
-#~ "    -O ARQUIVO  Verdade se o arquivo pertencer ao seu usuário efetivo."
+#~ msgstr "    -O ARQUIVO  Verdade se o arquivo pertencer ao seu usuário efetivo."
 
-#~ msgid ""
-#~ "    -G FILE        True if the file is effectively owned by your group."
-#~ msgstr ""
-#~ "    -G ARQUIVO  Verdade se o arquivo pertencer ao seu grupo efetivo."
+#~ msgid "    -G FILE        True if the file is effectively owned by your group."
+#~ msgstr "    -G ARQUIVO  Verdade se o arquivo pertencer ao seu grupo efetivo."
 
 #~ msgid "  FILE1 -nt FILE2  True if file1 is newer than (according to"
 #~ msgstr "  ARQ1 -nt ARQ2 Verdade se ARQ1 for mais novo (conforme a data"
@@ -7937,18 +7422,14 @@ msgstr ""
 #~ msgid "    STRING1 < STRING2"
 #~ msgstr "    STRING1 < STRING2"
 
-#~ msgid ""
-#~ "                   True if STRING1 sorts before STRING2 lexicographically"
-#~ msgstr ""
-#~ "                Verdade se STRING1 tiver ordenação anterior à STRING2."
+#~ msgid "                   True if STRING1 sorts before STRING2 lexicographically"
+#~ msgstr "                Verdade se STRING1 tiver ordenação anterior à STRING2."
 
 #~ msgid "    STRING1 > STRING2"
 #~ msgstr "    STRING1 > STRING2"
 
-#~ msgid ""
-#~ "                   True if STRING1 sorts after STRING2 lexicographically"
-#~ msgstr ""
-#~ "                Verdade se STRING1 tiver ordenação posterior à STRING2."
+#~ msgid "                   True if STRING1 sorts after STRING2 lexicographically"
+#~ msgstr "                Verdade se STRING1 tiver ordenação posterior à STRING2."
 
 #~ msgid "Other operators:"
 #~ msgstr "Outros operadores:"
@@ -7969,11 +7450,9 @@ msgstr ""
 #~ msgstr "                   -lt, -le, -gt, ou -ge."
 
 #~ msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-#~ msgstr ""
-#~ "Operadores aritméticos binários retornam verdadeiro se ARG1 for igual,"
+#~ msgstr "Operadores aritméticos binários retornam verdadeiro se ARG1 for igual,"
 
-#~ msgid ""
-#~ "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
+#~ msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
 #~ msgstr "diferente, menor, menor ou igual, maior, ou maior ou igual do que"
 
 #~ msgid "than ARG2."
@@ -7986,60 +7465,46 @@ msgstr ""
 #~ msgstr "argumento deve ser o literal `]', para fechar o `[' de abertura."
 
 #~ msgid "Print the accumulated user and system times for processes run from"
-#~ msgstr ""
-#~ "Exibe os tempos acumulados do usuário e do sistema para os processos"
+#~ msgstr "Exibe os tempos acumulados do usuário e do sistema para os processos"
 
 #~ msgid "the shell."
 #~ msgstr "executados por esta shell."
 
 #~ msgid "The command ARG is to be read and executed when the shell receives"
-#~ msgstr ""
-#~ "O comando em ARG é para ser lido e executado quando a shell receber o(s)"
+#~ msgstr "O comando em ARG é para ser lido e executado quando a shell receber o(s)"
 
 #~ msgid "signal(s) SIGNAL_SPEC.  If ARG is absent all specified signals are"
-#~ msgstr ""
-#~ "sinal(is) SINAL-ESPEC.  Se ARG for omitido, todos os sinais especificados"
+#~ msgstr "sinal(is) SINAL-ESPEC.  Se ARG for omitido, todos os sinais especificados"
 
 #~ msgid "reset to their original values.  If ARG is the null string each"
-#~ msgstr ""
-#~ "retornam aos seus valores originais.  Se ARG for uma string nula, cada"
+#~ msgstr "retornam aos seus valores originais.  Se ARG for uma string nula, cada"
 
 #~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-#~ msgstr ""
-#~ "SINAL-ESPEC é ignorado pela shell e pelos comandos chamados por ela."
+#~ msgstr "SINAL-ESPEC é ignorado pela shell e pelos comandos chamados por ela."
 
 #~ msgid "If SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-#~ msgstr ""
-#~ "Se SINAL-ESPEC for EXIT (0) o comando em ARG é executado na saída da"
+#~ msgstr "Se SINAL-ESPEC for EXIT (0) o comando em ARG é executado na saída da"
 
 #~ msgid "the shell.  If SIGNAL_SPEC is DEBUG, ARG is executed after every"
-#~ msgstr ""
-#~ "shell.  Se SINAL-ESPEC for DEBUG, o comando em ARG é executado após cada"
+#~ msgstr "shell.  Se SINAL-ESPEC for DEBUG, o comando em ARG é executado após cada"
 
 #~ msgid "command.  If ARG is `-p' then the trap commands associated with"
-#~ msgstr ""
-#~ "comando.  Se ARG for `-p' então os comandos de captura associados com cada"
+#~ msgstr "comando.  Se ARG for `-p' então os comandos de captura associados com cada"
 
 #~ msgid "each SIGNAL_SPEC are displayed.  If no arguments are supplied or if"
 #~ msgstr "SINAL-ESPEC são exibidos.  Se nenhum argumento for fornecido, ou se"
 
 #~ msgid "only `-p' is given, trap prints the list of commands associated with"
-#~ msgstr ""
-#~ "somente `-p' for fornecido, é exibida a lista dos comandos associados"
+#~ msgstr "somente `-p' for fornecido, é exibida a lista dos comandos associados"
 
-#~ msgid ""
-#~ "each signal number.  SIGNAL_SPEC is either a signal name in <signal.h>"
-#~ msgstr ""
-#~ "com cada número de sinal.  SINAL-ESPEC é um nome de sinal em <signal.h> ou"
+#~ msgid "each signal number.  SIGNAL_SPEC is either a signal name in <signal.h>"
+#~ msgstr "com cada número de sinal.  SINAL-ESPEC é um nome de sinal em <signal.h> ou"
 
-#~ msgid ""
-#~ "or a signal number.  `trap -l' prints a list of signal names and their"
-#~ msgstr ""
-#~ "um número de sinal.  `trap -l' exibe a lista de nomes de sinais com seus"
+#~ msgid "or a signal number.  `trap -l' prints a list of signal names and their"
+#~ msgstr "um número de sinal.  `trap -l' exibe a lista de nomes de sinais com seus"
 
 #~ msgid "corresponding numbers.  Note that a signal can be sent to the shell"
-#~ msgstr ""
-#~ "números correspondentes.  Note que o sinal pode ser enviado para a shell"
+#~ msgstr "números correspondentes.  Note que o sinal pode ser enviado para a shell"
 
 #~ msgid "with \"kill -signal $$\"."
 #~ msgstr "através do comando \"kill -SINAL $$\"."
@@ -8048,19 +7513,13 @@ msgstr ""
 #~ msgstr "Para cada NOME, indica como este deve ser interpretado caso seja"
 
 #~ msgid "If the -t option is used, returns a single word which is one of"
-#~ msgstr ""
-#~ "Se a opção -t for fornecida, `type' retorna uma única palavra dentre"
+#~ msgstr "Se a opção -t for fornecida, `type' retorna uma única palavra dentre"
 
-#~ msgid ""
-#~ "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-#~ msgstr ""
-#~ "`alias', `keyword', `function', `builtin', `file' ou `', se NOME for um"
+#~ msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
+#~ msgstr "`alias', `keyword', `function', `builtin', `file' ou `', se NOME for um"
 
-#~ msgid ""
-#~ "alias, shell reserved word, shell function, shell builtin, disk file,"
-#~ msgstr ""
-#~ "alias, uma palavra reservada, função ou comando interno da shell, um "
-#~ "arquivo"
+#~ msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
+#~ msgstr "alias, uma palavra reservada, função ou comando interno da shell, um arquivo"
 
 #~ msgid "or unfound, respectively."
 #~ msgstr "em disco, ou não for encontrado, respectivamente."
@@ -8074,10 +7533,8 @@ msgstr ""
 #~ msgid "If the -a flag is used, displays all of the places that contain an"
 #~ msgstr "Se a opção -a for fornecida, exibe todos os locais que contém um"
 
-#~ msgid ""
-#~ "executable named `file'.  This includes aliases and functions, if and"
-#~ msgstr ""
-#~ "arquivo executável chamado `ARQUIVO', incluindo os aliases e funções,"
+#~ msgid "executable named `file'.  This includes aliases and functions, if and"
+#~ msgstr "arquivo executável chamado `ARQUIVO', incluindo os aliases e funções,"
 
 #~ msgid "only if the -p flag is not also used."
 #~ msgstr "mas somente se a opção -p não for fornecida conjuntamente."
@@ -8089,12 +7546,10 @@ msgstr ""
 #~ msgstr "-a, -p, and -t, respectivamente."
 
 #~ msgid "Ulimit provides control over the resources available to processes"
-#~ msgstr ""
-#~ "Ulimit estabelece controle sobre os recursos disponíveis para os processos"
+#~ msgstr "Ulimit estabelece controle sobre os recursos disponíveis para os processos"
 
 #~ msgid "started by the shell, on systems that allow such control.  If an"
-#~ msgstr ""
-#~ "iniciados por esta shell, em sistemas que permitem estes controles. Se uma"
+#~ msgstr "iniciados por esta shell, em sistemas que permitem estes controles. Se uma"
 
 #~ msgid "option is given, it is interpreted as follows:"
 #~ msgstr "opção for fornecida, é interpretada como mostrado a seguir:"
@@ -8109,15 +7564,13 @@ msgstr ""
 #~ msgstr "    -a\ttodos os limites correntes são informados"
 
 #~ msgid "    -c\tthe maximum size of core files created"
-#~ msgstr ""
-#~ "    -c\to tamanho máximo para os arquivos de imagem do núcleo criados"
+#~ msgstr "    -c\to tamanho máximo para os arquivos de imagem do núcleo criados"
 
 #~ msgid "    -d\tthe maximum size of a process's data segment"
 #~ msgstr "    -d\to tamanho máximo do segmento de dados de um processo"
 
 #~ msgid "    -m\tthe maximum resident set size"
-#~ msgstr ""
-#~ "    -m\to tamanho máximo do conjunto de processos residentes em memória"
+#~ msgstr "    -m\to tamanho máximo do conjunto de processos residentes em memória"
 
 #~ msgid "    -s\tthe maximum stack size"
 #~ msgstr "    -s\to tamanho máximo da pilha"
@@ -8141,15 +7594,13 @@ msgstr ""
 #~ msgstr "    -v\to tamanho da memória virtual"
 
 #~ msgid "If LIMIT is given, it is the new value of the specified resource."
-#~ msgstr ""
-#~ "Se LIMITE for fornecido, torna-se o novo valor do recurso especificado."
+#~ msgstr "Se LIMITE for fornecido, torna-se o novo valor do recurso especificado."
 
 #~ msgid "Otherwise, the current value of the specified resource is printed."
 #~ msgstr "Senão, o valor atual do recurso especificado é exibido."
 
 #~ msgid "If no option is given, then -f is assumed.  Values are in 1k"
-#~ msgstr ""
-#~ "Se nenhuma opção for fornecida, então -f é assumido. Os valores são em"
+#~ msgstr "Se nenhuma opção for fornecida, então -f é assumido. Os valores são em"
 
 #~ msgid "increments, except for -t, which is in seconds, -p, which is in"
 #~ msgstr "incrementos de 1k, exceto para -t, que é em segundos, -p, que é em"
@@ -8160,101 +7611,77 @@ msgstr ""
 #~ msgid "processes."
 #~ msgstr "processos."
 
-#~ msgid ""
-#~ "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
-#~ msgstr ""
-#~ "MODO é atribuído à máscara de criação de arquivos do usuário.  Se omitido,"
+#~ msgid "The user file-creation mask is set to MODE.  If MODE is omitted, or if"
+#~ msgstr "MODO é atribuído à máscara de criação de arquivos do usuário.  Se omitido,"
 
-#~ msgid ""
-#~ "`-S' is supplied, the current value of the mask is printed.  The `-S'"
-#~ msgstr ""
-#~ "ou se `-S' for especificado, a máscara em uso é exibida.  A opção `-S'"
+#~ msgid "`-S' is supplied, the current value of the mask is printed.  The `-S'"
+#~ msgstr "ou se `-S' for especificado, a máscara em uso é exibida.  A opção `-S'"
 
-#~ msgid ""
-#~ "option makes the output symbolic; otherwise an octal number is output."
+#~ msgid "option makes the output symbolic; otherwise an octal number is output."
 #~ msgstr "exibe símbolos na saída; sem esta opção um número octal é exibido."
 
 #~ msgid "If MODE begins with a digit, it is interpreted as an octal number,"
-#~ msgstr ""
-#~ "Se MODO começar por um dígito, é interpretado como sendo um número octal,"
+#~ msgstr "Se MODO começar por um dígito, é interpretado como sendo um número octal,"
 
-#~ msgid ""
-#~ "otherwise it is a symbolic mode string like that accepted by chmod(1)."
-#~ msgstr ""
-#~ "senão devem ser caracteres simbólicos, como os aceitos por chmod(1)."
+#~ msgid "otherwise it is a symbolic mode string like that accepted by chmod(1)."
+#~ msgstr "senão devem ser caracteres simbólicos, como os aceitos por chmod(1)."
 
-#~ msgid ""
-#~ "Wait for the specified process and report its termination status.  If"
-#~ msgstr ""
-#~ "Aguardar pelo processo especificado e informar seu status de término. Se N"
+#~ msgid "Wait for the specified process and report its termination status.  If"
+#~ msgstr "Aguardar pelo processo especificado e informar seu status de término. Se N"
 
 #~ msgid "N is not given, all currently active child processes are waited for,"
-#~ msgstr ""
-#~ "não for especificado, todos os processos filhos ativos são aguardados,"
+#~ msgstr "não for especificado, todos os processos filhos ativos são aguardados,"
 
 #~ msgid "and the return code is zero.  N may be a process ID or a job"
 #~ msgstr "e o código de retorno é zero.  N pode ser o ID de um processo ou a"
 
 #~ msgid "specification; if a job spec is given, all processes in the job's"
-#~ msgstr ""
-#~ "especificação de um trabalho; Se for a especificação de um trabalho, todos"
+#~ msgstr "especificação de um trabalho; Se for a especificação de um trabalho, todos"
 
 #~ msgid "pipeline are waited for."
 #~ msgstr "os processos presentes no `pipeline' do trabalho são aguardados."
 
 #~ msgid "and the return code is zero.  N is a process ID; if it is not given,"
-#~ msgstr ""
-#~ "e o código de retorno é zero.  N é o ID de um processo; se N não for"
+#~ msgstr "e o código de retorno é zero.  N é o ID de um processo; se N não for"
 
 #~ msgid "all child processes of the shell are waited for."
 #~ msgstr "especificado, todos os processos filhos da shell são aguardados."
 
 #~ msgid "The `for' loop executes a sequence of commands for each member in a"
-#~ msgstr ""
-#~ "O laço `for' executa a sequência de comandos para cada membro na lista de"
+#~ msgstr "O laço `for' executa a sequência de comandos para cada membro na lista de"
 
-#~ msgid ""
-#~ "list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is"
-#~ msgstr ""
-#~ "items.  Se `in PALAVRAS ...;' não estiver presente, então `in \"$@\"'"
+#~ msgid "list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is"
+#~ msgstr "items.  Se `in PALAVRAS ...;' não estiver presente, então `in \"$@\"'"
 
-#~ msgid ""
-#~ "assumed.  For each element in WORDS, NAME is set to that element, and"
-#~ msgstr ""
-#~ "(parâmetros posicionais) é assumido. Para cada elemento em PALAVRAS, NOME"
+#~ msgid "assumed.  For each element in WORDS, NAME is set to that element, and"
+#~ msgstr "(parâmetros posicionais) é assumido. Para cada elemento em PALAVRAS, NOME"
 
 #~ msgid "the COMMANDS are executed."
 #~ msgstr "assume seu valor, e os COMANDOS são executados."
 
 #~ msgid "The WORDS are expanded, generating a list of words.  The"
-#~ msgstr ""
-#~ "As palavras são expandidas, gerando uma lista de palavras. O conjunto"
+#~ msgstr "As palavras são expandidas, gerando uma lista de palavras. O conjunto"
 
 #~ msgid "set of expanded words is printed on the standard error, each"
-#~ msgstr ""
-#~ "de palavras expandidas é enviado para a saída de erro padrão, cada uma"
+#~ msgstr "de palavras expandidas é enviado para a saída de erro padrão, cada uma"
 
 #~ msgid "preceded by a number.  If `in WORDS' is not present, `in \"$@\"'"
-#~ msgstr ""
-#~ "precedida por um número.  Se `in PALAVRAS' for omitido, `in \"$@\"' é"
+#~ msgstr "precedida por um número.  Se `in PALAVRAS' for omitido, `in \"$@\"' é"
 
 #~ msgid "is assumed.  The PS3 prompt is then displayed and a line read"
 #~ msgstr "assumido.  Em seguida o prompt PS3 é exibido, e uma linha é lida da"
 
 #~ msgid "from the standard input.  If the line consists of the number"
-#~ msgstr ""
-#~ "entrada padrão.  Se a linha consistir do número correspondente ao número"
+#~ msgstr "entrada padrão.  Se a linha consistir do número correspondente ao número"
 
 #~ msgid "corresponding to one of the displayed words, then NAME is set"
 #~ msgstr "de uma das palavras exibidas, então NOME é atribuído para esta"
 
 #~ msgid "to that word.  If the line is empty, WORDS and the prompt are"
-#~ msgstr ""
-#~ "PALAVRA.  Se a linha estiver vazia, PALAVRAS e o prompt são exibidos"
+#~ msgstr "PALAVRA.  Se a linha estiver vazia, PALAVRAS e o prompt são exibidos"
 
 #~ msgid "redisplayed.  If EOF is read, the command completes.  Any other"
-#~ msgstr ""
-#~ "novamente.  Se EOF for lido, o comando termina.  Qualquer outro valor"
+#~ msgstr "novamente.  Se EOF for lido, o comando termina.  Qualquer outro valor"
 
 #~ msgid "value read causes NAME to be set to null.  The line read is saved"
 #~ msgstr "lido faz com que NOME seja tornado nulo.  A linha lida é salva"
@@ -8266,42 +7693,28 @@ msgstr ""
 #~ msgstr "até que o comando `break' ou `return' seja executado."
 
 #~ msgid "Selectively execute COMMANDS based upon WORD matching PATTERN.  The"
-#~ msgstr ""
-#~ "Executar seletivamente COMANDOS tomando por base a correspondência entre"
+#~ msgstr "Executar seletivamente COMANDOS tomando por base a correspondência entre"
 
 #~ msgid "`|' is used to separate multiple patterns."
-#~ msgstr ""
-#~ "PALAVRA e PADRÃO. O caracter `|' é usado para separar múltiplos padrões."
+#~ msgstr "PALAVRA e PADRÃO. O caracter `|' é usado para separar múltiplos padrões."
 
-#~ msgid ""
-#~ "The if COMMANDS are executed.  If the exit status is zero, then the then"
-#~ msgstr ""
-#~ "Os COMANDOS `if' são executados. Se os status de saída for zero, então os"
+#~ msgid "The if COMMANDS are executed.  If the exit status is zero, then the then"
+#~ msgstr "Os COMANDOS `if' são executados. Se os status de saída for zero, então os"
 
-#~ msgid ""
-#~ "COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
-#~ msgstr ""
-#~ "COMANDOS `then' são executados, senão, os COMANDOS `elif' são executados "
-#~ "em"
+#~ msgid "COMMANDS are executed.  Otherwise, each of the elif COMMANDS are executed"
+#~ msgstr "COMANDOS `then' são executados, senão, os COMANDOS `elif' são executados em"
 
-#~ msgid ""
-#~ "in turn, and if the exit status is zero, the corresponding then COMMANDS"
-#~ msgstr ""
-#~ "sequência e, se o status de saída for zero, os COMANDOS `then' associados"
+#~ msgid "in turn, and if the exit status is zero, the corresponding then COMMANDS"
+#~ msgstr "sequência e, se o status de saída for zero, os COMANDOS `then' associados"
 
-#~ msgid ""
-#~ "are executed and the if command completes.  Otherwise, the else COMMANDS"
-#~ msgstr ""
-#~ "são executados e o `if' termina.  Senão, os COMANDOS da cláusula `else'"
+#~ msgid "are executed and the if command completes.  Otherwise, the else COMMANDS"
+#~ msgstr "são executados e o `if' termina.  Senão, os COMANDOS da cláusula `else'"
 
-#~ msgid ""
-#~ "are executed, if present.  The exit status is the exit status of the last"
-#~ msgstr ""
-#~ "são executados, se houver.  O status de saída é o status de saída do"
+#~ msgid "are executed, if present.  The exit status is the exit status of the last"
+#~ msgstr "são executados, se houver.  O status de saída é o status de saída do"
 
 #~ msgid "command executed, or zero if no condition tested true."
-#~ msgstr ""
-#~ "último comando executado, ou zero, se nenhuma condição for verdadeira."
+#~ msgstr "último comando executado, ou zero, se nenhuma condição for verdadeira."
 
 #~ msgid "Expand and execute COMMANDS as long as the final command in the"
 #~ msgstr "Expande e executa COMANDOS enquanto o comando final nos"
@@ -8328,22 +7741,16 @@ msgstr ""
 #~ msgstr "redirecionar todo um conjunto de comandos."
 
 #~ msgid "This is similar to the `fg' command.  Resume a stopped or background"
-#~ msgstr ""
-#~ "Semelhante ao comando `fg'. Prossegue a execução de um trabalho parado ou"
+#~ msgstr "Semelhante ao comando `fg'. Prossegue a execução de um trabalho parado ou"
 
 #~ msgid "job.  If you specifiy DIGITS, then that job is used.  If you specify"
-#~ msgstr ""
-#~ "em segundo plano. Se DÍGITOS for especificado, então este trabalho é "
-#~ "usado."
+#~ msgstr "em segundo plano. Se DÍGITOS for especificado, então este trabalho é usado."
 
-#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used.  Following the"
-#~ msgstr ""
-#~ "Se for especificado PALAVRA, o trabalho começado por PALAVRA é usado."
+#~ msgid "WORD, then the job whose name begins with WORD is used.  Following the"
+#~ msgstr "Se for especificado PALAVRA, o trabalho começado por PALAVRA é usado."
 
 #~ msgid "job specification with a `&' places the job in the background."
-#~ msgstr ""
-#~ "Seguindo-se a especificação por um `&' põe o trabalho em segundo plano."
+#~ msgstr "Seguindo-se a especificação por um `&' põe o trabalho em segundo plano."
 
 #~ msgid "BASH_VERSION    The version numbers of this Bash."
 #~ msgstr "BASH_VERSION    Os números da versão desta `bash'."
@@ -8357,15 +7764,11 @@ msgstr ""
 #~ msgid "\t\tdirectory."
 #~ msgstr "\t\tencontrado no diretório atual."
 
-#~ msgid ""
-#~ "HISTFILE        The name of the file where your command history is stored."
-#~ msgstr ""
-#~ "HISTFILE        O nome do arquivo onde o histórico de comandos é "
-#~ "armazenado."
+#~ msgid "HISTFILE        The name of the file where your command history is stored."
+#~ msgstr "HISTFILE        O nome do arquivo onde o histórico de comandos é armazenado."
 
 #~ msgid "HISTFILESIZE    The maximum number of lines this file can contain."
-#~ msgstr ""
-#~ "HISTFILESIZE    O número máximo de linhas que este arquivo pode conter."
+#~ msgstr "HISTFILESIZE    O número máximo de linhas que este arquivo pode conter."
 
 #~ msgid "HISTSIZE        The maximum number of history lines that a running"
 #~ msgstr "HISTSIZE        O número máximo de linhas do histórico que uma"
@@ -8374,16 +7777,12 @@ msgstr ""
 #~ msgstr "\t\tshell em execução pode acessar."
 
 #~ msgid "HOME            The complete pathname to your login directory."
-#~ msgstr ""
-#~ "HOME            O nome completo do caminho do seu diretório de login."
+#~ msgstr "HOME            O nome completo do caminho do seu diretório de login."
 
-#~ msgid ""
-#~ "HOSTTYPE        The type of CPU this version of Bash is running under."
-#~ msgstr ""
-#~ "HOSTTYPE        O tipo de CPU sob a qual esta `bash' está executando."
+#~ msgid "HOSTTYPE        The type of CPU this version of Bash is running under."
+#~ msgstr "HOSTTYPE        O tipo de CPU sob a qual esta `bash' está executando."
 
-#~ msgid ""
-#~ "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
+#~ msgid "IGNOREEOF       Controls the action of the shell on receipt of an EOF"
 #~ msgstr "IGNOREEOF       Controla a ação da shell ao receber um caracter"
 
 #~ msgid "\t\tcharacter as the sole input.  If set, then the value"
@@ -8396,16 +7795,13 @@ msgstr ""
 #~ msgstr "\t\tde forma seguida em uma linha vazia, antes da shell terminar"
 
 #~ msgid "\t\t(default 10).  When unset, EOF signifies the end of input."
-#~ msgstr ""
-#~ "\t\t(padrão 10).  Caso contrário, EOF significa o fim da entrada de dados."
+#~ msgstr "\t\t(padrão 10).  Caso contrário, EOF significa o fim da entrada de dados."
 
 #~ msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-#~ msgstr ""
-#~ "MAILCHECK\tFreqüência, em segundos, para a `bash' verificar novo e-mail."
+#~ msgstr "MAILCHECK\tFreqüência, em segundos, para a `bash' verificar novo e-mail."
 
 #~ msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-#~ msgstr ""
-#~ "MAILPATH\tUma lista, separada por dois pontos, de nomes de arquivos,"
+#~ msgstr "MAILPATH\tUma lista, separada por dois pontos, de nomes de arquivos,"
 
 #~ msgid "\t\tfor new mail."
 #~ msgstr "\t\tnos quais a `bash' vai verificar se existe novo e-mail."
@@ -8414,8 +7810,7 @@ msgstr ""
 #~ msgstr "OSTYPE\t\tA versão do Unix sob a qual a `bash' está executando."
 
 #~ msgid "PATH            A colon-separated list of directories to search when"
-#~ msgstr ""
-#~ "PATH            Uma lista, separada por dois pontos, de diretórios a"
+#~ msgstr "PATH            Uma lista, separada por dois pontos, de diretórios a"
 
 #~ msgid "\t\tlooking for commands."
 #~ msgstr "\t\tserem pesquisados quando os comandos forem procurados."
@@ -8436,20 +7831,16 @@ msgstr ""
 #~ msgstr "TERM            O nome do tipo de terminal em uso no momento."
 
 #~ msgid "auto_resume     Non-null means a command word appearing on a line by"
-#~ msgstr ""
-#~ "auto_resume     Não nulo significa que um comando aparecendo sozinho em"
+#~ msgstr "auto_resume     Não nulo significa que um comando aparecendo sozinho em"
 
 #~ msgid "\t\titself is first looked for in the list of currently"
-#~ msgstr ""
-#~ "\t\tlinha deve ser procurado primeiro na lista de trabalhos parados."
+#~ msgstr "\t\tlinha deve ser procurado primeiro na lista de trabalhos parados."
 
 #~ msgid "\t\tstopped jobs.  If found there, that job is foregrounded."
-#~ msgstr ""
-#~ "\t\tSe for encontrado na lista, o trabalho vai para o primeiro plano."
+#~ msgstr "\t\tSe for encontrado na lista, o trabalho vai para o primeiro plano."
 
 #~ msgid "\t\tA value of `exact' means that the command word must"
-#~ msgstr ""
-#~ "\t\tO valor `exact' significa que a palavra do comando deve corresponder"
+#~ msgstr "\t\tO valor `exact' significa que a palavra do comando deve corresponder"
 
 #~ msgid "\t\texactly match a command in the list of stopped jobs.  A"
 #~ msgstr "\t\texatamente a um comando da lista de trabalhos parados."
@@ -8461,23 +7852,19 @@ msgstr ""
 #~ msgstr "\t\tcorresponder a uma parte do trabalho.  Qualquer outro valor"
 
 #~ msgid "\t\tthe command must be a prefix of a stopped job."
-#~ msgstr ""
-#~ "\t\tsignifica que o comando deve ser um prefixo de um trabalho parado."
+#~ msgstr "\t\tsignifica que o comando deve ser um prefixo de um trabalho parado."
 
 #~ msgid "command_oriented_history"
 #~ msgstr "command_oriented_history"
 
-#~ msgid ""
-#~ "                Non-null means to save multiple-line commands together on"
-#~ msgstr ""
-#~ "                Se não for nulo significa salvar comandos com múltiplas"
+#~ msgid "                Non-null means to save multiple-line commands together on"
+#~ msgstr "                Se não for nulo significa salvar comandos com múltiplas"
 
 #~ msgid "                a single history line."
 #~ msgstr "                linhas, juntas em uma única linha do histórico."
 
 #~ msgid "histchars       Characters controlling history expansion and quick"
-#~ msgstr ""
-#~ "histchars       Caracteres que controlam a expansão do histórico e a"
+#~ msgstr "histchars       Caracteres que controlam a expansão do histórico e a"
 
 #~ msgid "\t\tsubstitution.  The first character is the history"
 #~ msgstr "\t\tsubstituição rápida.  O primeiro caracter é o de substituição"
@@ -8492,12 +7879,10 @@ msgstr ""
 #~ msgstr "\t\té o de comentário do histórico, geralmente o `#'."
 
 #~ msgid "HISTCONTROL\tSet to a value of `ignorespace', it means don't enter"
-#~ msgstr ""
-#~ "HISTCONTROL\tCom valor igual a `ignorespace', significa não introduzir"
+#~ msgstr "HISTCONTROL\tCom valor igual a `ignorespace', significa não introduzir"
 
 #~ msgid "\t\tlines which begin with a space or tab on the history"
-#~ msgstr ""
-#~ "\t\tlinhas que iniciam por espaço ou tabulação na lista de histórico."
+#~ msgstr "\t\tlinhas que iniciam por espaço ou tabulação na lista de histórico."
 
 #~ msgid "\t\tlist.  Set to a value of `ignoredups', it means don't"
 #~ msgstr "\t\tCom valor igual a `ignoredups', significa não introduzir linhas"
@@ -8509,8 +7894,7 @@ msgstr ""
 #~ msgstr "\t\t`ignoreboth' significa combinar as duas opções.  Remover,"
 
 #~ msgid "\t\tor set to any other value than those above means to save"
-#~ msgstr ""
-#~ "\t\tou atribuir algum outro valor que não os acima, significa salvar"
+#~ msgstr "\t\tou atribuir algum outro valor que não os acima, significa salvar"
 
 #~ msgid "\t\tall lines on the history list."
 #~ msgstr "\t\ttodas as linhas na lista de histórico."
@@ -8519,22 +7903,19 @@ msgstr ""
 #~ msgstr "Adiciona o diretório no topo da pilha de diretórios, ou rotaciona a"
 
 #~ msgid "the stack, making the new top of the stack the current working"
-#~ msgstr ""
-#~ "pilha, fazendo o diretório atual de trabalho ficar no topo da pilha."
+#~ msgstr "pilha, fazendo o diretório atual de trabalho ficar no topo da pilha."
 
 #~ msgid "directory.  With no arguments, exchanges the top two directories."
 #~ msgstr "Sem nenhum argumento, troca os dois diretórios do topo."
 
 #~ msgid "+N\tRotates the stack so that the Nth directory (counting"
-#~ msgstr ""
-#~ "+N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
+#~ msgstr "+N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
 
 #~ msgid "\tfrom the left of the list shown by `dirs') is at the top."
 #~ msgstr "\tpartir da esquerda da lista exibida por `dirs') fique no topo."
 
 #~ msgid "-N\tRotates the stack so that the Nth directory (counting"
-#~ msgstr ""
-#~ "-N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
+#~ msgstr "-N\tRotaciona a pilha de tal forma que o n-ésimo diretório (contado a"
 
 #~ msgid "\tfrom the right) is at the top."
 #~ msgstr "\tpartir da direita) fique no topo."
@@ -8575,8 +7956,7 @@ msgstr ""
 #~ msgid "\tremoves the last directory, `popd -1' the next to last."
 #~ msgstr "\tremove o último diretório, `popd -1' o penúltimo."
 
-#~ msgid ""
-#~ "-n\tsuppress the normal change of directory when removing directories"
+#~ msgid "-n\tsuppress the normal change of directory when removing directories"
 #~ msgstr "-n\tsuprime a troca normal de diretório ao remover-se diretórios"
 
 #~ msgid "\tfrom the stack, so only the stack is manipulated."
@@ -8591,57 +7971,44 @@ msgstr ""
 #~ msgid "back up through the list with the `popd' command."
 #~ msgstr "removidos da lista através do comando `popd'."
 
-#~ msgid ""
-#~ "The -l flag specifies that `dirs' should not print shorthand versions"
+#~ msgid "The -l flag specifies that `dirs' should not print shorthand versions"
 #~ msgstr "A opção -l especifica que `dirs' não deve exibir a versão resumida"
 
-#~ msgid ""
-#~ "of directories which are relative to your home directory.  This means"
-#~ msgstr ""
-#~ "dos diretórios relativos ao seu diretório `home'. Isto significa que"
+#~ msgid "of directories which are relative to your home directory.  This means"
+#~ msgstr "dos diretórios relativos ao seu diretório `home'. Isto significa que"
 
 #~ msgid "that `~/bin' might be displayed as `/homes/bfox/bin'.  The -v flag"
-#~ msgstr ""
-#~ "`~/bin' deve ser exibido como `/home/você/bin'.  A opção -v faz com que"
+#~ msgstr "`~/bin' deve ser exibido como `/home/você/bin'.  A opção -v faz com que"
 
 #~ msgid "causes `dirs' to print the directory stack with one entry per line,"
 #~ msgstr "`dirs' exiba a pilha de diretórios com uma entrada por linha,"
 
-#~ msgid ""
-#~ "prepending the directory name with its position in the stack.  The -p"
+#~ msgid "prepending the directory name with its position in the stack.  The -p"
 #~ msgstr "antecedendo o nome do diretório com a sua posição na pilha. A opção"
 
 #~ msgid "flag does the same thing, but the stack position is not prepended."
 #~ msgstr "-p faz a mesma coisa, mas a posição na pilha não é exibida. A opção"
 
-#~ msgid ""
-#~ "The -c flag clears the directory stack by deleting all of the elements."
+#~ msgid "The -c flag clears the directory stack by deleting all of the elements."
 #~ msgstr "-c limpa a pilha de diretórios apagando todos os seus elementos."
 
-#~ msgid ""
-#~ "+N\tdisplays the Nth entry counting from the left of the list shown by"
-#~ msgstr ""
-#~ "+N\texibe a n-ésima entrada contada a partir da esquerda da lista exibida"
+#~ msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
+#~ msgstr "+N\texibe a n-ésima entrada contada a partir da esquerda da lista exibida"
 
 #~ msgid "\tdirs when invoked without options, starting with zero."
 #~ msgstr "\tpor `dirs', quando este é chamado sem opções, começando por zero."
 
-#~ msgid ""
-#~ "-N\tdisplays the Nth entry counting from the right of the list shown by"
-#~ msgstr ""
-#~ "-N\texibe a n-ésima entrada contada a partir da direita da lista exibida"
+#~ msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
+#~ msgstr "-N\texibe a n-ésima entrada contada a partir da direita da lista exibida"
 
 #~ msgid "Toggle the values of variables controlling optional behavior."
-#~ msgstr ""
-#~ "Alterna os valores das variáveis controladoras de comportamentos "
-#~ "opcionais."
+#~ msgstr "Alterna os valores das variáveis controladoras de comportamentos opcionais."
 
 #~ msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
 #~ msgstr "A opção -s ativa (set) cada NOME-OPÇÃO; a opção -u desativa cada"
 
 #~ msgid "unsets each OPTNAME.  The -q flag suppresses output; the exit"
-#~ msgstr ""
-#~ "NOME-OPÇÃO. A opção -q suprime a saída; o status de término indica se"
+#~ msgstr "NOME-OPÇÃO. A opção -q suprime a saída; o status de término indica se"
 
 #~ msgid "status indicates whether each OPTNAME is set or unset.  The -o"
 #~ msgstr "cada NOME-OPÇÃO foi ativado ou desativado  A opção -o restringe"
@@ -8653,8 +8020,7 @@ msgstr ""
 #~ msgstr "Sem nenhuma opção, ou com a opção -p, uma lista com todas as"
 
 #~ msgid "settable options is displayed, with an indication of whether or"
-#~ msgstr ""
-#~ "opções que podem ser ativadas é exibida, com indicação sobre se cada uma"
+#~ msgstr "opções que podem ser ativadas é exibida, com indicação sobre se cada uma"
 
 #~ msgid "not each is set."
 #~ msgstr "das opções está ativa ou não."
diff --git a/sig.c b/sig.c
index d2a1267154e4f3beb58f9904b182046bce7fad84..b6ccaa19cbd29f35d4aef769b89335ee431f2b36 100644 (file)
--- a/sig.c
+++ b/sig.c
@@ -252,6 +252,8 @@ initialize_terminating_signals (void)
       /* If we've already trapped it, don't do anything. */
       if (signal_is_trapped (XSIG (i)))
        continue;
+      if (signal_is_async_ignored (XSIG (i)))
+       continue;
 
       sigaction (XSIG (i), &act, &oact);
       XHANDLER(i) = oact.sa_handler;
diff --git a/trap.c b/trap.c
index 637c823767c0b2887556e29fe98e05c07bc91889..2368e5b3750059e48c841c25a9025c06f393c71b 100644 (file)
--- a/trap.c
+++ b/trap.c
@@ -66,6 +66,7 @@ extern int errno;
 #define SIG_INPROGRESS 0x10    /* Signal handler currently executing. */
 #define SIG_CHANGED    0x20    /* Trap value changed in trap handler. */
 #define SIG_IGNORED    0x40    /* The signal is currently being ignored. */
+#define SIG_ASYNCSIG   0x80    /* The signal is ignored because it's in an asynchronous command. */
 
 #define SPECIAL_TRAP(s)        ((s) == EXIT_TRAP || (s) == DEBUG_TRAP || (s) == ERROR_TRAP || (s) == RETURN_TRAP)
 
@@ -804,8 +805,8 @@ set_signal (int sig, const char *string)
       /* If we aren't sure of the original value, check it. */
       if (original_signals[sig] == IMPOSSIBLE_TRAP_HANDLER)
         GETORIGSIG (sig);
-      if (original_signals[sig] == SIG_IGN)
-       return;
+      if (original_signals[sig] == SIG_IGN && (sigmodes[sig] & SIG_ASYNCSIG) == 0)
+       return;                 /* XXX */
     }
 
   /* Only change the system signal handler if SIG_NO_TRAP is not set.
@@ -939,7 +940,11 @@ ignore_signal (int sig)
 
   /* If already trapped and ignored, no change necessary. */
   if (sigmodes[sig] & SIG_IGNORED)
-    return;
+    {
+      sigmodes[sig] |= SIG_TRAPPED;    /* just make sure */
+      /* XXX - turn off SIG_ASYNCSIG here? */
+      return;
+    }
 
   /* Only change the signal handler for SIG if it allows it. */
   if ((sigmodes[sig] & SIG_NO_TRAP) == 0)
@@ -1301,6 +1306,15 @@ free_trap_string (int sig)
 static void
 reset_signal (int sig)
 {
+#if 1
+  /* If we have a trapped signal that was previously ignored because it was
+     SIGINT or SIGQUIT in an asynchronous list, then we need to restore the
+     default signal and not the (artificial) SIG_IGN. We know that the signal
+     was not ignored at shell invocation because you can't trap it if
+     SIG_HARD_IGNORE is set. */
+  if ((sigmodes[sig] & SIG_ASYNCSIG) && signal_is_trapped (sig) && original_signals[sig] == SIG_IGN)
+    original_signals[sig] = SIG_DFL;
+#endif
   set_signal_handler (sig, original_signals[sig]);
   sigmodes[sig] &= ~SIG_TRAPPED;               /* XXX - SIG_INPROGRESS? */
 }
@@ -1310,6 +1324,15 @@ reset_signal (int sig)
 static void
 restore_signal (int sig)
 {
+#if 1
+  /* If we have a trapped signal that was previously ignored because it was
+     SIGINT or SIGQUIT in an asynchronous list, then we need to restore the
+     default signal and not the (artificial) SIG_IGN. We know that the signal
+     was not ignored at shell invocation because you can't trap it if
+     SIG_HARD_IGNORE is set. */
+  if ((sigmodes[sig] & SIG_ASYNCSIG) && signal_is_trapped (sig) && original_signals[sig] == SIG_IGN)
+    original_signals[sig] = SIG_DFL;
+#endif
   set_signal_handler (sig, original_signals[sig]);
   change_signal (sig, (char *)DEFAULT_SIG);
   sigmodes[sig] &= ~SIG_TRAPPED;
@@ -1522,6 +1545,19 @@ set_signal_ignored (int sig)
   original_signals[sig] = SIG_IGN;
 }
 
+void
+set_signal_async_ignored (int sig)
+{
+  original_signals[sig] = SIG_IGN;
+  sigmodes[sig] |= SIG_ASYNCSIG|SIG_IGNORED;
+}
+
+int
+signal_is_async_ignored (int sig)
+{
+  return (sigmodes[sig] & SIG_ASYNCSIG);
+}
+
 int
 signal_in_progress (int sig)
 {
diff --git a/trap.h b/trap.h
index 8ecf5dc171020658049415f5f360740b7673fdfb..e031e5fe52b54eed4f39b06738a175826622b5d4 100644 (file)
--- a/trap.h
+++ b/trap.h
@@ -116,6 +116,8 @@ extern int signal_is_ignored (int);
 extern int signal_is_hard_ignored (int);
 extern void set_signal_hard_ignored (int);
 extern void set_signal_ignored (int);
+extern void set_signal_async_ignored (int);
+extern int signal_is_async_ignored (int);
 extern int signal_in_progress (int);
 
 extern void set_trap_state (int);