]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20181207 snapshot
authorChet Ramey <chet.ramey@case.edu>
Mon, 10 Dec 2018 15:07:15 +0000 (10:07 -0500)
committerChet Ramey <chet.ramey@case.edu>
Mon, 10 Dec 2018 15:07:15 +0000 (10:07 -0500)
21 files changed:
CWRU/CWRU.chlog
builtins/echo.def
builtins/set.def
configure
configure.ac
doc/bash.1
doc/bashref.texi
doc/version.texi
externs.h
general.c
general.h
jobs.c
lib/sh/strcasecmp.c
parse.y
po/ga.po
po/hr.po
po/zh_CN.po
print_cmd.c
redir.c
shell.c
trap.c

index c27742f937d06435c7d0fe7c121802ec3eff9dd9..855e7e0ea3a9730de41518a4c3b9d27733c03bf1 100644 (file)
@@ -4830,3 +4830,41 @@ lib/glob/smatch.c
          non-zero if FNMATCH_EQUIV_FALLBACK is defined, so we know that
          fnmatch understands equivalence classes. Another Posix test suite
          issue from Martin Rehak <martin.rehak@oracle.com>
+
+                                  12/6
+                                  ----
+redir.c
+       - add missing cases to switch statements to shut up gcc
+
+                                  12/7
+                                  ----
+builtins/set.def
+       - find_minus_o_option: new helper function, returns index into
+         o_options given option name
+       - minus_o_option_value,set_minus_o_option: use find_minus_o_option
+
+general.c
+       - new table of variables (currently all shopt options) that are
+         modified by going into and out of posix mode; num_posix_options()
+         returns the number of variables
+       - get_posix_options: fill in a bitmap passed as an argument (or return
+         a new one) of values of posix-mode-modified variables in the table
+       - set_posix_options: set values of posix-mode-modified variables from
+         the table using the passed bitmap for values
+
+builtins/set.def
+       - get_current_options: make the bitmap large enough to hold the options
+         in the set table and the table of posix-mode-modified variables; call
+         get_posix_options to fill in those values after the values from the
+         o_options table
+       - set_current_options: call set_posix_options to reset the values of
+         the posix-mode-modified variables at the end of the bitmap, after
+         the o_options values. Fixes issue reported by PJ Eby
+         <pje@telecommunity.com>
+
+                                  12/9
+                                  ----
+parse.y
+       - select_command: add two additional productions to support select
+         commands without a word_list following the `in'. Fixes omission
+         reported by Martijn Dekker <martijn@inlv.org>
index b0eda8499d48e4dc51174736b54e6655b9b11f54..4e2243dbee4598b29c8566afe25d7a2d66430d0f 100644 (file)
@@ -1,7 +1,7 @@
 This file is echo.def, from which is created echo.c.
 It implements the builtin "echo" in Bash.
 
-Copyright (C) 1987-2016 Free Software Foundation, Inc.
+Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
 This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -62,6 +62,10 @@ Options:
                0 to 3 octal digits
   \xHH the eight-bit character whose value is HH (hexadecimal).  HH
                can be one or two hex digits
+  \uHHHH       the Unicode character whose value is the hexadecimal value HHHH.
+               HHHH can be one to four hex digits.
+  \UHHHHHHHH the Unicode character whose value is the hexadecimal value
+               HHHHHHHH. HHHHHHHH can be one to eight hex digits.
 
 Exit Status:
 Returns success unless a write error occurs.
index d99e096ad8ee2993988dfda1dd9e27c9acbc3d6d..d2bba434dd4ea03a6c733f216a6c6e3e3d6803cd 100644 (file)
@@ -1,7 +1,7 @@
 This file is set.def, from which is created set.c.
 It implements the "set" and "unset" builtins in Bash.
 
-Copyright (C) 1987-2015 Free Software Foundation, Inc.
+Copyright (C) 1987-2018 Free Software Foundation, Inc.
 
 This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -154,6 +154,8 @@ $END
 typedef int setopt_set_func_t __P((int, char *));
 typedef int setopt_get_func_t __P((char *));
 
+static int find_minus_o_option __P((char *));
+
 static void print_minus_o_option __P((char *, int, int));
 static void print_all_shell_variables __P((void));
 
@@ -242,6 +244,18 @@ const struct {
   ((o_options[i].set_func) ? (*o_options[i].set_func) (onoff, name) \
                           : (*o_options[i].variable = (onoff == FLAG_ON)))
 
+static int
+find_minus_o_option (name)
+     char *name;
+{
+  register int i;
+
+  for (i = 0; o_options[i].name; i++)
+    if (STREQ (name, o_options[i].name))
+      return i;
+  return -1;
+}
+
 int
 minus_o_option_value (name)
      char *name;
@@ -249,21 +263,17 @@ minus_o_option_value (name)
   register int i;
   int *on_or_off;
 
-  for (i = 0; o_options[i].name; i++)
+  i = find_minus_o_option (name);
+  if (i < 0)
+    return (-1);
+
+  if (o_options[i].letter)
     {
-      if (STREQ (name, o_options[i].name))
-       {
-         if (o_options[i].letter)
-           {
-             on_or_off = find_flag (o_options[i].letter);
-             return ((on_or_off == FLAG_UNKNOWN) ? -1 : *on_or_off);
-           }
-         else
-           return (GET_BINARY_O_OPTION_VALUE (i, name));
-       }
+      on_or_off = find_flag (o_options[i].letter);
+      return ((on_or_off == FLAG_UNKNOWN) ? -1 : *on_or_off);
     }
-
-  return (-1);
+  else
+    return (GET_BINARY_O_OPTION_VALUE (i, name));
 }
 
 #define MINUS_O_FORMAT "%-15s\t%s\n"
@@ -323,9 +333,12 @@ char *
 get_current_options ()
 {
   char *temp;
-  int i;
+  int i, posixopts;
 
-  temp = (char *)xmalloc (1 + N_O_OPTIONS);
+  posixopts = num_posix_options ();    /* shopts modified by posix mode */
+  /* Make the buffer big enough to hold the set -o options and the shopt
+     options modified by posix mode. */
+  temp = (char *)xmalloc (1 + N_O_OPTIONS + posixopts);
   for (i = 0; o_options[i].name; i++)
     {
       if (o_options[i].letter)
@@ -333,7 +346,11 @@ get_current_options ()
       else
        temp[i] = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name);
     }
-  temp[i] = '\0';
+
+  /* Add the shell options that are modified by posix mode to the end of the
+     bitmap. They will be handled in set_current_options() */
+  get_posix_options (temp+i);
+  temp[i+posixopts] = '\0';
   return (temp);
 }
 
@@ -345,6 +362,7 @@ set_current_options (bitmap)
 
   if (bitmap == 0)
     return;
+
   for (i = 0; o_options[i].name; i++)
     {
       if (o_options[i].letter)
@@ -352,6 +370,9 @@ set_current_options (bitmap)
       else
        SET_BINARY_O_OPTION_VALUE (i, bitmap[i] ? FLAG_ON : FLAG_OFF, o_options[i].name);
     }
+
+  /* Now reset the variables changed by posix mode */
+  set_posix_options (bitmap+i);
 }
 
 static int
@@ -451,32 +472,29 @@ set_minus_o_option (on_or_off, option_name)
 {
   register int i;
 
-  for (i = 0; o_options[i].name; i++)
+  i = find_minus_o_option (option_name);
+  if (i < 0)
     {
-      if (STREQ (option_name, o_options[i].name))
-       {
-         if (o_options[i].letter == 0)
-           {
-             previous_option_value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name);
-             SET_BINARY_O_OPTION_VALUE (i, on_or_off, option_name);
-             return (EXECUTION_SUCCESS);
-           }
-         else
-           {
-             if ((previous_option_value = change_flag (o_options[i].letter, on_or_off)) == FLAG_ERROR)
-               {
-                 sh_invalidoptname (option_name);
-                 return (EXECUTION_FAILURE);
-               }
-             else
-               return (EXECUTION_SUCCESS);
-           }
+      sh_invalidoptname (option_name);
+      return (EX_USAGE);
+    }
 
+  if (o_options[i].letter == 0)
+    {
+      previous_option_value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name);
+      SET_BINARY_O_OPTION_VALUE (i, on_or_off, option_name);
+      return (EXECUTION_SUCCESS);
+    }
+  else
+    {
+      if ((previous_option_value = change_flag (o_options[i].letter, on_or_off)) == FLAG_ERROR)
+       {
+         sh_invalidoptname (option_name);
+         return (EXECUTION_FAILURE);
        }
+      else
+       return (EXECUTION_SUCCESS);
     }
-
-  sh_invalidoptname (option_name);
-  return (EX_USAGE);
 }
 
 static void
index 6a81fa1ede28187ad15f021779b8277539aacbaf..258864480e91ceb6e603dcd0c7715864c0fc51da 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.ac for Bash 5.0, version 5.004.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for bash 5.0-beta2.
+# Generated by GNU Autoconf 2.69 for bash 5.0-rc1.
 #
 # Report bugs to <bug-bash@gnu.org>.
 #
@@ -581,8 +581,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bash'
 PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='5.0-beta2'
-PACKAGE_STRING='bash 5.0-beta2'
+PACKAGE_VERSION='5.0-rc1'
+PACKAGE_STRING='bash 5.0-rc1'
 PACKAGE_BUGREPORT='bug-bash@gnu.org'
 PACKAGE_URL=''
 
@@ -1394,7 +1394,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bash 5.0-beta2 to adapt to many kinds of systems.
+\`configure' configures bash 5.0-rc1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1459,7 +1459,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bash 5.0-beta2:";;
+     short | recursive ) echo "Configuration of bash 5.0-rc1:";;
    esac
   cat <<\_ACEOF
 
@@ -1655,7 +1655,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bash configure 5.0-beta2
+bash configure 5.0-rc1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2364,7 +2364,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bash $as_me 5.0-beta2, which was
+It was created by bash $as_me 5.0-rc1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2759,7 +2759,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 BASHVERS=5.0
-RELSTATUS=beta2
+RELSTATUS=rc1
 
 case "$RELSTATUS" in
 alp*|bet*|dev*|rc*|releng*|maint*)     DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -4938,12 +4938,6 @@ fi
 CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
 # LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"}   # XXX
 
-# turn off paren warnings in gcc
-if test "$GCC" = yes # && test -n "$DEBUG"
-then
-       CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
-fi
-
 if test "$opt_profiling" = "yes"; then
        PROFILE_FLAGS=-pg
        case "$host_os" in
@@ -16362,6 +16356,16 @@ m88k-motorola-sysv3)   LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
 mips-pyramid-sysv4)    LOCAL_CFLAGS=-Xa ;;
 esac
 
+# turn off paren warnings in gcc
+if test "$GCC" = yes # && test -n "$DEBUG"
+then
+       CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
+       if test -n "$DEBUG"
+       then
+               CFLAGS="$CFLAGS -Werror"
+       fi
+fi
+
 #
 # Shared object configuration section.  These values are generated by
 # ${srcdir}/support/shobj-conf
@@ -16964,7 +16968,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bash $as_me 5.0-beta2, which was
+This file was extended by bash $as_me 5.0-rc1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17030,7 +17034,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bash config.status 5.0-beta2
+bash config.status 5.0-rc1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 2b0944e2af8d75173253f2450a60a17d04434841..8ba7e956a175755cec3b8689f2944366a9a56996 100644 (file)
@@ -24,7 +24,7 @@ dnl Process this file with autoconf to produce a configure script.
 AC_REVISION([for Bash 5.0, version 5.004])dnl
 
 define(bashvers, 5.0)
-define(relstatus, beta2)
+define(relstatus, rc1)
 
 AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
 
@@ -474,12 +474,6 @@ dnl default values
 CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
 # LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"}   # XXX
 
-# turn off paren warnings in gcc
-if test "$GCC" = yes # && test -n "$DEBUG"
-then
-       CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
-fi
-
 dnl handle options that alter how bash is compiled and linked
 dnl these must come after the test for cc/gcc
 if test "$opt_profiling" = "yes"; then
@@ -1159,6 +1153,16 @@ m88k-motorola-sysv3)     LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
 mips-pyramid-sysv4)    LOCAL_CFLAGS=-Xa ;;
 esac
 
+# turn off paren warnings in gcc
+if test "$GCC" = yes # && test -n "$DEBUG"
+then
+       CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
+       if test -n "$DEBUG"
+       then
+               CFLAGS="$CFLAGS -Werror"
+       fi
+fi
+
 #
 # Shared object configuration section.  These values are generated by
 # ${srcdir}/support/shobj-conf
index a2567db31e320cf796f41d6d13769a441ec7f747..142b4d17fad907480bf8279ac1f66d79be10a527 100644 (file)
@@ -5,12 +5,12 @@
 .\"    Case Western Reserve University
 .\"    chet.ramey@case.edu
 .\"
-.\"    Last Change: Mon Oct 22 09:55:27 EDT 2018
+.\"    Last Change: Fri Dec  7 09:48:47 EST 2018
 .\"
 .\" bash_builtins, strip all but Built-Ins section
 .if \n(zZ=1 .ig zZ
 .if \n(zY=1 .ig zY
-.TH BASH 1 "2018 October 22" "GNU Bash 5.0"
+.TH BASH 1 "2018 December 7" "GNU Bash 5.0"
 .\"
 .\" There's some problem with having a `@'
 .\" in a tagged paragraph with the BSD man macros.
@@ -629,8 +629,11 @@ of a semicolon to delimit commands.
 If a command is terminated by the control operator
 .BR & ,
 the shell executes the command in the \fIbackground\fP
-in a subshell.  The shell does not wait for the command to
-finish, and the return status is 0.  Commands separated by a
+in a subshell.
+The shell does not wait for the command to
+finish, and the return status is 0.
+These are referred to as \fIasynchronous\fP commands.
+Commands separated by a
 .B ;
 are executed sequentially; the shell waits for each
 command to terminate in turn.  The return status is the
index 29334a86ffa020a1284462927a75c845beae0487..ed633521b1ab90f77970cf1d4c56114a97c7ab63 100644 (file)
@@ -696,7 +696,8 @@ to delimit commands, equivalent to a semicolon.
 
 If a command is terminated by the control operator @samp{&},
 the shell executes the command asynchronously in a subshell.
-This is known as executing the command in the @var{background}.
+This is known as executing the command in the @var{background},
+and these are referred to as @var{asynchronous} commands.
 The shell does not wait for the command to finish, and the return
 status is 0 (true).
 When job control is not active (@pxref{Job Control}),
index eb3f68eaf1e6c4a37722ebbffcdb69bc364f48b5..12462477f88d8114be28a83108046ef0b5d8f95e 100644 (file)
@@ -2,10 +2,10 @@
 Copyright (C) 1988-2018 Free Software Foundation, Inc.
 @end ignore
 
-@set LASTCHANGE Fri Nov  9 14:24:49 EST 2018
+@set LASTCHANGE Fri Dec  7 09:49:07 EST 2018
 
 @set EDITION 5.0
 @set VERSION 5.0
 
-@set UPDATED 9 November 2018
-@set UPDATED-MONTH November 2018
+@set UPDATED 7 December 2018
+@set UPDATED-MONTH December 2018
index b00e56e0d0c79e5233040a5987abbc4c93097a58..72df33d1627657ea6d45720fc394dcb68d5f375e 100644 (file)
--- a/externs.h
+++ b/externs.h
@@ -343,7 +343,7 @@ extern char *dirspell __P((char *));
 
 /* declarations for functions defined in lib/sh/strcasecmp.c */
 #if !defined (HAVE_STRCASECMP)
-extern int strncasecmp __P((const char *, const char *, int));
+extern int strncasecmp __P((const char *, const char *, size_t));
 extern int strcasecmp __P((const char *, const char *));
 #endif /* HAVE_STRCASECMP */
 
index 83a8e905a058c34a51e365568d58f6eaee257128..9542963aa2d04f9f2465da119c89e8dfb526c80e 100644 (file)
--- a/general.c
+++ b/general.c
@@ -68,7 +68,33 @@ static void initialize_group_array __P((void));
 /* A standard error message to use when getcwd() returns NULL. */
 const char * const bash_getcwd_errstr = N_("getcwd: cannot access parent directories");
 
-/* Do whatever is necessary to initialize `Posix mode'. */
+/* Do whatever is necessary to initialize `Posix mode'.  This currently
+   modifies the following variables which are controlled via shopt:
+      interactive_comments
+      source_uses_path
+      expand_aliases
+      inherit_errexit
+      print_shift_error
+
+   and the following variables which cannot be user-modified:
+
+      source_searches_cwd
+
+  If we add to the first list, we need to change the table and functions
+  below */
+
+static struct {
+  int *posix_mode_var;
+} posix_vars[] = 
+{
+  &interactive_comments,
+  &source_uses_path,
+  &expand_aliases,
+  &inherit_errexit,
+  &print_shift_error,
+  0
+};
+
 void
 posix_initialize (on)
      int on;
@@ -80,6 +106,7 @@ posix_initialize (on)
       inherit_errexit = 1;
       source_searches_cwd = 0;
       print_shift_error = 1;
+
     }
 
   /* Things that should be turned on when posix mode is disabled. */
@@ -91,6 +118,35 @@ posix_initialize (on)
     }
 }
 
+int
+num_posix_options ()
+{
+  return ((sizeof (posix_vars) / sizeof (posix_vars[0])) - 1);
+}
+
+char *
+get_posix_options (bitmap)
+     char *bitmap;
+{
+  register int i;
+
+  if (bitmap == 0)
+    bitmap = (char *)xmalloc (num_posix_options ());   /* no trailing NULL */
+  for (i = 0; posix_vars[i].posix_mode_var; i++)
+    bitmap[i] = *(posix_vars[i].posix_mode_var);
+  return bitmap;
+}
+
+void
+set_posix_options (bitmap)
+     const char *bitmap;
+{
+  register int i;
+
+  for (i = 0; posix_vars[i].posix_mode_var; i++)
+    *(posix_vars[i].posix_mode_var) = bitmap[i];
+}
+
 /* **************************************************************** */
 /*                                                                 */
 /*  Functions to convert to and from and display non-standard types */
index d89eec8e5fb38a302f8b15714d496abc5e1c1caa..638d23727746a4c96ace58950aec092a346a4eda 100644 (file)
--- a/general.h
+++ b/general.h
@@ -297,6 +297,10 @@ extern void xfree __P((void *));
 /* Declarations for functions defined in general.c */
 extern void posix_initialize __P((int));
 
+extern int num_posix_options __P((void));
+extern char *get_posix_options __P((char *));
+extern void set_posix_options __P((const char *));
+
 #if defined (RLIMTYPE)
 extern RLIMTYPE string_to_rlimtype __P((char *));
 extern void print_rlimtype __P((RLIMTYPE, int));
diff --git a/jobs.c b/jobs.c
index 9471414fba45d55be6915bda2d9e675d25859d22..ce2bdf248773c2610b0df05f3dac23abd6a10cf9 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -300,6 +300,8 @@ static int bgp_delete __P((pid_t));
 static void bgp_clear __P((void));
 static int bgp_search __P((pid_t));
 
+static struct pipeline_saver *alloc_pipeline_saver __P((void));
+
 static ps_index_t bgp_getindex __P((void));
 static void bgp_resize __P((void));    /* XXX */
 
@@ -453,7 +455,7 @@ discard_last_procsub_child ()
     discard_pipeline (disposer);
 }
 
-struct pipeline_saver *
+static struct pipeline_saver *
 alloc_pipeline_saver ()
 {
   struct pipeline_saver *ret;
index 5542f7155891371f651fff57fcf1e322f2ff452e..70d0551a11dcc5a7f7b371bd97ec07e9fd89e5df 100644 (file)
@@ -32,7 +32,7 @@ int
 strncasecmp (string1, string2, count)
      const char *string1;
      const char *string2;
-     int count;
+     size_t count;
 {
   register const char *s1;
   register const char *s2;
diff --git a/parse.y b/parse.y
index 4747408e681cc33d6e4a13ad00b7edb15e6548e9..f88f84468982ce1e13fb07f39a83128ffebf149d 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -894,6 +894,16 @@ select_command:    SELECT WORD newline_list DO list DONE
                          $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
                          if (word_top > 0) word_top--;
                        }
+       |       SELECT WORD newline_list IN list_terminator newline_list DO compound_list DONE
+                       {
+                         $$ = make_select_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       SELECT WORD newline_list IN list_terminator newline_list '{' compound_list '}'
+                       {
+                         $$ = make_select_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
        ;
 
 case_command:  CASE WORD newline_list IN newline_list ESAC
@@ -3020,7 +3030,11 @@ special_case_tokens (tokstr)
 {
   /* Posix grammar rule 6 */
   if ((last_read_token == WORD) &&
+#if defined (SELECT_COMMAND)
       ((token_before_that == FOR) || (token_before_that == CASE) || (token_before_that == SELECT)) &&
+#else
+      ((token_before_that == FOR) || (token_before_that == CASE)) &&
+#endif
       (tokstr[0] == 'i' && tokstr[1] == 'n' && tokstr[2] == 0))
     {
       if (token_before_that == CASE)
index 390a0f4c4fb78aeb072a515190d3f206690efcc1..c77a11f82f4a644741c7a6ec9c27a027d11abd1c 100644 (file)
--- a/po/ga.po
+++ b/po/ga.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: bash 5.0-beta2\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-11-16 15:54-0500\n"
-"PO-Revision-Date: 2018-11-30 10:28+0000\n"
+"PO-Revision-Date: 2018-12-06 21:34+0000\n"
 "Last-Translator: Séamus Ó Ciardhuáin <sociardhuain@gmail.com>\n"
 "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
 "Language: ga\n"
@@ -393,7 +393,7 @@ msgstr "Ní féidir %s a aimsiú sa réad comhroinnte %s: %s"
 #: builtins/enable.def:387
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
-msgstr "theip ar an ngníomh luchtála le haghaidh %s (aiscuireadh %d): níor luchtáladh é"
+msgstr "Theip ar an ngníomh luchtála le haghaidh %s (aiscuireadh %d): níor luchtáladh é"
 
 #: builtins/enable.def:512
 #, c-format
@@ -507,7 +507,7 @@ msgstr[4] "Ordaithe blaoisce a mheaitseálann na lorgfhocail '"
 #: builtins/help.def:185
 #, c-format
 msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr "Ní mheaitseálann ábhar cabhrach ar bith '%s'. Bain triail as 'help help' nó 'man -k %s' nó 'info %s'."
+msgstr "Ní mheaitseálann ábhar cabhrach ar bith \"%s\". Bain triail as \"help help\" nó \"man -k %s\" nó \"info %s\"."
 
 #: builtins/help.def:224
 #, c-format
@@ -526,10 +526,10 @@ msgid ""
 "\n"
 msgstr ""
 "Tá na horduithe blaoisce seo sainmhínithe go hinmheánach.\n"
-"Usáid 'help' leis an liosta seo a thaispeáint.\n"
-"Úsáid 'help ainm' chun tuilleadh eolais a fháil faoin bhfeidhm 'ainm'.\n"
-"Úsáid 'info bash' chun tuilleadh eolais a fháil faoin mblaosc féin.\n"
-"Úsáid 'man -k' nó 'info' chun tuilleadh eolais a fháil faoi ordaithe nach bhfuil sa liosta seo.\n"
+"Usáid \"help\" leis an liosta seo a thaispeáint.\n"
+"Úsáid \"help ainm\" chun tuilleadh eolais a fháil faoin bhfeidhm \"ainm\".\n"
+"Úsáid \"info bash\" chun tuilleadh eolais a fháil faoin mblaosc féin.\n"
+"Úsáid \"man -k\" nó \"info\" chun tuilleadh eolais a fháil faoi ordaithe nach bhfuil sa liosta seo.\n"
 "Ciallaíonn réalt (*) ar ainm go bhfuil an t-ordú díchumasaithe.\n"
 "\n"
 
@@ -689,8 +689,8 @@ msgid ""
 "\tdirs when invoked without options, starting with zero."
 msgstr ""
 "Taispeáin liosta na gcomhadlann a bhfuil cuimhne orthu faoi láthair.\n"
-"    Cuirtear comhadlanna ar an liosta leis an ordú 'pushd'. Is féidir dul\n"
-"    siar trín liosta leis an ordú 'popd'.\n"
+"    Cuirtear comhadlanna ar an liosta leis an ordú \"pushd\". Is féidir dul\n"
+"    siar trín liosta leis an ordú \"popd\".\n"
 "    \n"
 "    Roghanna:\n"
 "      -c\tglantar cruach na gcomhadlann trí gach mhír a bhaint de\n"
@@ -702,8 +702,8 @@ msgstr ""
 "    \n"
 "    Argóintí:\n"
 "      +N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh clé\n"
-"      \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó náid.      -N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh deas\n"
-"      \tan liosta a thaispeántar le 'dirs' rite gan argóintí, ag tosú ó náid."
+"      \tan liosta a thaispeántar le \"dirs\" rite gan argóintí, ag tosú ó náid.      -N\tTaispeántar mír N, agus uimhrithe curtha ar na míreanna ó thaobh deas\n"
+"      \tan liosta a thaispeántar le \"dirs\" rite gan argóintí, ag tosú ó náid."
 
 #: builtins/pushd.def:723
 msgid ""
@@ -729,8 +729,8 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"Cuireann comhadlann ar bharr na cruaiche comhadlanna, nó rothlaíonn\n"
-"    an chruach, ag cur barr nua na cruaiche mar an chomhadlann oibrithe\n"
+"Cuireann \"pushd\" comhadlann ar bharr na cruaiche comhadlanna, nó rothlaíonn\n"
+"    sé an chruach, ag cur barr nua na cruaiche mar an chomhadlann oibrithe\n"
 "    reatha. Gan argóintí, malartaítear an dá chomhadlann ar bharr.\n"
 "    \n"
 "    Roghanna:\n"
@@ -771,8 +771,8 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"Baineann comhadlanna ón gcruach comhadlanna. Gan argóintí, baintear an\n"
-"    chomhadlann ó bharr na cruaiche, agus téann go dtí an chomhadlann\n"
+"Baineann \"popd\" comhadlanna ón gcruach comhadlanna. Gan argóintí, baintear an\n"
+"    chomhadlann ó bharr na cruaiche, agus téann sé go dtí an chomhadlann\n"
 "    atá ar bharr.\n"
 "    \n"
 "    Roghanna:\n"
@@ -799,11 +799,11 @@ msgstr "%s: sonrú neamhbhailí teorann ama"
 #: builtins/read.def:733
 #, c-format
 msgid "read error: %d: %s"
-msgstr "earráid léite: %d: %s"
+msgstr "Earráid léite: %d: %s"
 
 #: builtins/return.def:68
 msgid "can only `return' from a function or sourced script"
-msgstr "ní féidir 'return' a dhéanamh ach ó fheidhm nó ó script rite le 'source'"
+msgstr "Ní féidir \"return\" a dhéanamh ach ó fheidhm nó ó script rite le \"source\""
 
 #: builtins/set.def:834
 msgid "cannot simultaneously unset a function and a variable"
@@ -981,7 +981,7 @@ msgstr "%s: athróg neamhcheangailte"
 #: eval.c:245
 #, c-format
 msgid "\atimed out waiting for input: auto-logout\n"
-msgstr "\aimithe thar am ag feitheamh le hionchur: logáil amach uathoibríoch\n"
+msgstr "\aImithe thar am ag feitheamh le hionchur: logáil amach uathoibríoch\n"
 
 #: execute_cmd.c:536
 #, c-format
@@ -1020,7 +1020,7 @@ msgstr "%s: imithe thar uasleibhéal neadaithe feidhme (%d)"
 #: execute_cmd.c:5331
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: srianta: ní féidir '/' a shonrú in ainmneacha ordaithe"
+msgstr "%s: srianta: ní féidir \"/\" a shonrú in ainmneacha ordaithe"
 
 #: execute_cmd.c:5429
 #, c-format
@@ -1054,11 +1054,11 @@ msgstr "Ní féidir an tuairisceoir comhaid %d a dhúbailt mar thuairisceoir com
 
 #: expr.c:263
 msgid "expression recursion level exceeded"
-msgstr "imithe thar leibhéal athchursála sloinn"
+msgstr "Imithe thar leibhéal athchursála sloinn"
 
 #: expr.c:291
 msgid "recursion stack underflow"
-msgstr "gannsreabhadh na cruaiche athchúrsála"
+msgstr "Gannsreabhadh na cruaiche athchúrsála"
 
 #: expr.c:477
 msgid "syntax error in expression"
@@ -1074,15 +1074,15 @@ msgstr "Earráid chomhréire i sannadh athróige."
 
 #: expr.c:544 expr.c:910
 msgid "division by 0"
-msgstr "roinnt ar 0"
+msgstr "Roinnt ar 0"
 
 #: expr.c:591
 msgid "bug: bad expassign token"
-msgstr "fabht: droch-chomhartha expassign"
+msgstr "Fabht: droch-chomhartha expassign"
 
 #: expr.c:645
 msgid "`:' expected for conditional expression"
-msgstr "Bhíothas ag súil le ':' le haghaidh sloinn choinníollaigh."
+msgstr "Bhíothas ag súil le \":\" le haghaidh sloinn choinníollaigh."
 
 #: expr.c:971
 msgid "exponent less than 0"
@@ -1090,11 +1090,11 @@ msgstr "Easpónant níos lú ná 0."
 
 #: expr.c:1028
 msgid "identifier expected after pre-increment or pre-decrement"
-msgstr "ag súil le aitheantóir tar éis réamhincriminte nó réamhdeicriminte"
+msgstr "Ag súil le aitheantóir tar éis réamhincriminte nó réamhdeicriminte"
 
 #: expr.c:1055
 msgid "missing `)'"
-msgstr "')' ar iarraidh"
+msgstr "\")\" ar iarraidh"
 
 #: expr.c:1106 expr.c:1484
 msgid "syntax error: operand expected"
@@ -1102,7 +1102,7 @@ msgstr "Earráid chomhréire: bhíothas ag súil le hoibreann."
 
 #: expr.c:1486
 msgid "syntax error: invalid arithmetic operator"
-msgstr "earráid chomhréire: oibreoir neamhbhailí uimhríochta"
+msgstr "Earráid chomhréire: oibreoir neamhbhailí uimhríochta"
 
 #: expr.c:1510
 #, c-format
@@ -1129,7 +1129,7 @@ msgstr "getcwd: ní féidir na máthairchomhadlanna a rochtain."
 #: input.c:99 subst.c:5906
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
-msgstr "ní féidir an mód gan mhoill a athshocrú le haghaidh an tuairisceora chomhaid %d"
+msgstr "Ní féidir an mód gan mhoill a athshocrú le haghaidh an tuairisceora chomhaid %d"
 
 #: input.c:266
 #, c-format
@@ -1432,12 +1432,12 @@ msgstr "make_here_document: drochchineál ordaithe %d"
 #: make_cmd.c:657
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr "cáipéis leabaithe ag líne %d teormharcáilte le deireadh comhaid ('%s' á lorg)"
+msgstr "Cáipéis leabaithe ag líne %d teormharcáilte le deireadh comhaid (\"%s\" á lorg)"
 
 #: make_cmd.c:756
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr "make_redirection: ordú atreoraithe '%d' as raon."
+msgstr "make_redirection: ordú atreoraithe \"%d\" as raon."
 
 #: parse.y:2369
 #, c-format
@@ -1446,21 +1446,21 @@ msgstr "shell_getc: tá méid an líne ionchuir blaoisce (%zu) níos mó ná SIZ
 
 #: parse.y:2775
 msgid "maximum here-document count exceeded"
-msgstr "imithe thar uasfhad na cáipéise-anseo"
+msgstr "Imithe thar uasfhad na cáipéise-anseo"
 
 #: parse.y:3521 parse.y:3891
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
-msgstr "Deireadh comhaid gan súil leis agus '%c' a mheaitseálann á lorg."
+msgstr "Deireadh comhaid gan súil leis agus \"%c\" a mheaitseálann á lorg."
 
 #: parse.y:4591
 msgid "unexpected EOF while looking for `]]'"
-msgstr "Deireadh comhaid gan súil leis agus ']]' á lorg."
+msgstr "Deireadh comhaid gan súil leis agus \"]]\" á lorg."
 
 #: parse.y:4596
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "Earráid chomhréire i slonn coinníollach: comhartha '%s' gan suil leis."
+msgstr "Earráid chomhréire i slonn coinníollach: comhartha \"%s\" gan suil leis."
 
 #: parse.y:4600
 msgid "syntax error in conditional expression"
@@ -1473,12 +1473,12 @@ msgstr "Comhartha '%s' gan súil leis; ag súil le ')'."
 
 #: parse.y:4682
 msgid "expected `)'"
-msgstr "Ag súil le ')'"
+msgstr "Ag súil le \")\""
 
 #: parse.y:4710
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "Argóint '%s' gan súil lei go hoibreoir aonártha coinníollach."
+msgstr "Argóint \"%s\" gan súil lei go hoibreoir aonártha coinníollach."
 
 #: parse.y:4714
 msgid "unexpected argument to conditional unary operator"
@@ -1487,7 +1487,7 @@ msgstr "Argóint gan súil lei go hoibreoir coinníollach aonártha ."
 #: parse.y:4760
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "Comhartha '%s' gan súil leis. Bhíothas ag súil le hoibreoir coinníollach dénártha."
+msgstr "Comhartha \"%s\" gan súil leis. Bhíothas ag súil le hoibreoir coinníollach dénártha."
 
 #: parse.y:4764
 msgid "conditional binary operator expected"
@@ -1510,7 +1510,7 @@ msgstr "Comhartha '%c' gan súil leis in ordú coinníollach."
 #: parse.y:4804
 #, c-format
 msgid "unexpected token `%s' in conditional command"
-msgstr "Comhartha '%s' gan súil leis in ordú coinníollach."
+msgstr "Comhartha \"%s\" gan súil leis in ordú coinníollach."
 
 #: parse.y:4808
 #, c-format
@@ -2206,7 +2206,7 @@ msgstr "declare [-aAfFgilnrtux] [-p] [AINM[=LUACH] ...]"
 
 #: builtins.c:80
 msgid "typeset [-aAfFgilnrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFgilnrtux] [-p] ainm[=luach] ..."
+msgstr "typeset [-aAfFgilnrtux] [-p] AINM[=LUACH] ..."
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2294,11 +2294,11 @@ msgstr "return [n]"
 
 #: builtins.c:142
 msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [-abefhkmnptuvxBCHP] [-o ainm-rogha] [--] [argóint ...]"
+msgstr "set [-abefhkmnptuvxBCHP] [-o AINM-ROGHA] [--] [ARGÓINT ...]"
 
 #: builtins.c:144
 msgid "unset [-f] [-v] [-n] [name ...]"
-msgstr "unset [-f] [-v] [-n] [ainm ...]"
+msgstr "unset [-f] [-v] [-n] [AINM ...]"
 
 #: builtins.c:146
 msgid "export [-fn] [name[=value] ...] or export -p"
@@ -2370,7 +2370,7 @@ msgstr "select AINM [in FOCAIL ... ;] do ORDUITHE; done"
 
 #: builtins.c:190
 msgid "time [-p] pipeline"
-msgstr "time [-p] píblíne"
+msgstr "time [-p] PÍBLÍNE"
 
 #: builtins.c:192
 msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
@@ -2414,7 +2414,7 @@ msgstr "[[ slonn ]]"
 
 #: builtins.c:212
 msgid "variables - Names and meanings of some shell variables"
-msgstr "Athróga - ainmneacha agus mínithe ar fathróga áirithe blaoisce"
+msgstr "athróga - ainmneacha agus mínithe ar athróga áirithe blaoisce"
 
 #: builtins.c:215
 msgid "pushd [-n] [+N | -N | dir]"
@@ -2438,7 +2438,7 @@ msgstr "printf [-v athróg] formáid [argóintí]"
 
 #: 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 rogha] [-A gníomh] [-G patrún] [-W liosta_focal]  [-F feidhm] [-C ordú] [-X patrún_scagaire] [-P réimír] [-S iarmhír] [ainm ...]"
+msgstr "complete [-abcdefgjksuv] [-pr] [-DEI] [-o ROGHA] [-A GNÍOMH] [-G PATRÚN] [-W LIOSTA_FOCAL]  [-F FEIDHM] [-C ORDÚ] [-X PATRÚN_SCAGAIRE] [-P RÉIMÍR] [-S IARMHÍR] [AINM ...]"
 
 #: 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]"
@@ -2446,11 +2446,11 @@ msgstr "compgen [-abcdefgjksuv] [-o rogha]  [-A gníomh] [-G patrún] [-W liosta
 
 #: builtins.c:239
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
-msgstr "compopt [-o|+o ROGHA] [-DEI] [ainm ...]"
+msgstr "compopt [-o|+o ROGHA] [-DEI] [AINM ...]"
 
 #: builtins.c:242
 msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
-msgstr "mapfile [-d TEORMHARCÓIR] [-n COMHAIREAMH] [-O BUNÚS] [-s COMHAIREAMH] [-t] [-u TUAIRISCEOIR_COMHAID] [-C AISGHLAOCH] [-c CANDAM] [EAGAR]"
+msgstr "mapfile [-d TEORMHARCÓIR] [-n COMHAIREAMH] [-O BUNÚS] [-s COMHAIREAMH] [-t] [-u TC] [-C AISGHLAOCH] [-c CANDAM] [EAGAR]"
 
 #: builtins.c:244
 msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
@@ -2782,7 +2782,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns exit status of COMMAND, or failure if COMMAND is not found."
 msgstr ""
-"Rith ordú simplí nó taispeáin eolas maidir le horduithe.\n"
+"Ritheann \"command\" ordú simplí nó taispeánann eolas maidir le horduithe.\n"
 "    \n"
 "    Ritear ORDÚ le hARGÓINTÍ gan cuardach feidhme blaoisce, nó taispeántar\n"
 "    eolas maidir leis na horduithe sonraithe. Is féidir é seo a úsáid chun orduithe ar\n"
@@ -2835,6 +2835,41 @@ msgid ""
 "    Returns success unless an invalid option is supplied or a variable\n"
 "    assignment error occurs."
 msgstr ""
+"Socraíonn \"declare\" luachanna agus airíonna athróige.\n"
+"    \n"
+"    Fograíonn \"declare\" athróga agus tugann sé aitreabúidí dóibh. Gan\n"
+"    AINMneacha, taispeántar a luach agus a haitreabúidí le haghaidh gach athróg.\n"
+"    \n"
+"    Roghanna:\n"
+"      -f\tGníomh nó taispeáint srianta le hainmneacha feidhmeanna agus sainithe.\n"
+"      -F\tGníomh le hainmneacha feidhmeanna amháin (móide uimhir líne agus\n"
+"      \t\tcomhad foinse le linn dífhabhtaithe).\n"
+"      -g\tCruthaítear athróga comhchoiteanna nuair a úsáidtear é laistigh de\n"
+"      \t\tfheidhm bhlaoisce; déantar neamhaird de i gcásanna eile.\n"
+"      -p\tTaispeántar a luach agus a haitreabúidí le haghaidh gach AINM.\n"
+"    \n"
+"    Roghanna a shocraíonn aitreabúidí:\n"
+"      -a\tAINMneacha mar eagair innéacsaithe (má thacaítear leo)\n"
+"      -A\tAINMneacha mar eagair chomhthiomsaitheacha (má thacaítear leo)\n"
+"      -i\tCuirtear an aitreabúid \"integer\" (.i. slonnuimhir) le hAINMneacha.\n"
+"      -l\tTiontaítear luach gach AINM go cás íochtair agus é á shannadh.\n"
+"      -n\tBíodh AINM ina thagairt don athróg ainmnithe ag a luach.\n"
+"      -r\tBíodh AINMneacha inléite amháin.\n"
+"      -t\tCuirtear an aitreabúid \"trace\" (.i. lorg) le hAINMneacha.\n"
+"      -u\tTiontaítear luach gach AINM go cás uachtair agus é á shannadh.\n"
+"      -x\tEaspórtálfar na hAINMneacha as seo amach.\n"
+"    \n"
+"    Le \"+\" in áit \"-\", múchtar an aitreabúid shonraithe.\n"
+"    \n"
+"    Má tá an aitreabúid \"integer\" ag athróg, déantar luacháil uimhríochtuil\n"
+"    (feic an t-ordú \"let\") nuair a shanntar leis an athróg.\n"
+"    \n"
+"    Nuair a úsáidtear \"declare\" laistigh de fheidhm, beidh na hAINMneacha\n"
+"    logánta, mar a bheadh leis an t-ordú \"local\". Stopann an rogha \"-g\" é seo.\n"
+"    \n"
+"    Stádas Scortha:\n"
+"    Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí, nó go\n"
+"    dtarlaíonn earráid shannta."
 
 #: builtins.c:530
 msgid ""
@@ -2842,9 +2877,9 @@ msgid ""
 "    \n"
 "    A synonym for `declare'.  See `help declare'."
 msgstr ""
-"Socraigh luachanna agus airíonna athróg.\n"
+"Socraíonn \"typeset\" luachanna agus airíonna athróige.\n"
 "    \n"
-"    Comhchiallach de 'declare'. Feic 'help declare'."
+"    Comhchiallach le \"declare\". Feic \"help declare\"."
 
 #: builtins.c:538
 msgid ""
@@ -2860,10 +2895,11 @@ msgid ""
 "    Returns success unless an invalid option is supplied, a variable\n"
 "    assignment error occurs, or the shell is not executing a function."
 msgstr ""
-"Sainigh athróga logánta.\n"
+"Sainíonn \"local\" athróga logánta.\n"
 "    \n"
-"    Cruthaítear athróg logánta darbh ainm AINM, agus cuirtear LUACH leis. Is\n"
-"    féidir le ROGHA a bheith ceann ar bith de na roghanna a ghlacann 'declare' leo.\n"
+"    Cruthaítear athróg logánta darbh ainm AINM, agus cuirtear LUACH leis.\n"
+"    Is féidir ceann ar bith de na roghanna a ghlacann \"declare\" leo a úsáid\n"
+"    mar ROGHA.\n"
 "    \n"
 "    Ní féidir athróga logánta a úsáid ach laistigh de fheidhm. Tá siad infheicthe\n"
 "    san fheidhm ina shainítear iad agus a mic amháin.\n"
@@ -3649,7 +3685,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
-"Socraigh an aitreabúid easpórtála le haghaidh athróga blaoisce.\n"
+"Socraíonn \"export\" an aitreabúid easpórtála le haghaidh athróga blaoisce.\n"
 "    \n"
 "    Marcáiltear gach AINM le haghaidh easpórtáil uathoibríoch go dtí timpeallacht\n"
 "    na n-orduithe a ritear ina dhiaidh sin. Má sonraítear LUACH, sann LUACH\n"
@@ -3844,9 +3880,9 @@ msgid ""
 msgstr ""
 "Luacháil slonn coinníollach.\n"
 "    \n"
-"    Leasainm é seo ar an ordú blaoisce ionsuite 'test', ach\n"
-"    caithfear ']' go díreach a bheith ann mar an argóint\n"
-"    dheireanach, le bheith comhoiriúnach leis an '[' ag an tús."
+"    Leasainm é seo ar an ordú blaoisce ionsuite \"test\", ach\n"
+"    caithfear \"]\" go díreach a bheith ann mar an argóint\n"
+"    dheireanach, le bheith comhoiriúnach leis an \"[\" ag an tús."
 
 #: builtins.c:1346
 msgid ""
@@ -4033,7 +4069,7 @@ msgid ""
 "    Returns the status of the last ID; fails if ID is invalid or an invalid\n"
 "    option is given."
 msgstr ""
-"Fan go gcríochnaíonn tasc agus aischuir an stádas scortha.\n"
+"Fanann \"wait\" go gcríochnaíonn tasc agus aischuireann a stádas scortha.\n"
 "    \n"
 "    Fantar le gach próiseas ata sonraithe le AITHEANTAS, a d'fhéadann a bheith\n"
 "    ina aitheantas próisis nó sonrú taisc, agus tuairiscítear a stádas críochnaithe.\n"
@@ -4062,16 +4098,17 @@ msgid ""
 "    Returns the status of the last PID; fails if PID is invalid or an invalid\n"
 "    option is given."
 msgstr ""
-"Fan go gcríochnaíonn próiseas agus aischuir an stádas scortha.\n"
+"Fanann \"wait\" go gcríochnaíonn próiseas agus aischuireann an stádas scortha.\n"
 "    \n"
-"    Fantar le gach próiseas ata sonraithe le AITHEANTAS, agus tuairiscítear\n"
-"    a stádais chríochnaithe. Gan AITHEANTAS, fantar le gach macphróiseas gníomhach\n"
-"    reatha, agus aischuirtear 0. Ní mór d'AITHEANTAS bheith ina aitheantas próisis.\n"
+"    Fantar le gach próiseas atá sonraithe le AITHEANTAS_PRÓISIS, agus\n"
+"    tuairiscítear a stádais chríochnaithe. Gan AITHEANTAS_PRÓISIS, fantar\n"
+"    le gach macphróiseas gníomhach reatha, agus aischuirtear 0.\n"
+"    Ní mór d'AITHEANTAS_PRÓISIS bheith ina aitheantas próisis.\n"
 "    \n"
-"    \n"
-"Stádas Scortha:\n"
-"    Aischuirtear stádas an AITHEANTAIS dheireanaigh. Teipeann ar an ordú má tá\n"
-"    AITHEANTAS neamhbhailí nó má sonraítear rogha neamhbhailí."
+"    Stádas Scortha:\n"
+"    Aischuirtear stádas an AITHEANTAIS dheireanaigh. Teipeann ar an\n"
+"    ordú má tá AITHEANTAS_PRÓISIS neamhbhailí nó má shonraítear\n"
+"    rogha neamhbhailí."
 
 #: builtins.c:1534
 msgid ""
@@ -4160,6 +4197,19 @@ msgid ""
 "    Exit Status:\n"
 "    The return status is the return status of PIPELINE."
 msgstr ""
+"Tuairscíonn \"time\" tréimhse rite píblíne.\n"
+"    \n"
+"    Ritear PÍBLÍNE agus taispeántar achoimre den fhíor-am, am LAP\n"
+"    an úsáideora agus am LAP an chórais a chaitheadh ag rith PÍBLÍNE\n"
+"    nuair a stopann sí.\n"
+"    \n"
+"    Roghanna:\n"
+"      -p\tTaispeántar an achoimre sa bhformáid iniompartha POSIX.\n"
+"    \n"
+"    Úsáidtear luach na hathróige TIMEFORMAT don fhormáid aschuir.\n"
+"    \n"
+"    Stádas Scortha:\n"
+"    Is é stadas aischuir PÍBLÍNE an stádas aischuir ó \"time\"."
 
 #: builtins.c:1604
 msgid ""
@@ -4243,7 +4293,7 @@ msgid ""
 "    Exit Status:\n"
 "    The coproc command returns an exit status of 0."
 msgstr ""
-"Cruthaigh comhphróiseas ainmnithe AINM.\n"
+"Cruthaíonn \"coproc\" comhphróiseas ainmnithe AINM.\n"
 "    \n"
 "    Ritear ORDÚ go haisioncronach. Beidh gnáthaschur agus gnáthionchur\n"
 "    an ordaithe ceangailte trí phíopa le tuairisceoirí comhaid a bheidh\n"
@@ -4251,7 +4301,7 @@ msgstr ""
 "    bhlaosc atá ag rith. Is é \"COPROC\" an tAINM réamhshocraithe.\n"
 "    \n"
 "    Stádas Scortha:\n"
-"    Aischuireann an t-ordú coproc stádas scortha de 0."
+"    Aischuireann an t-ordú \"coproc\" stádas scortha de 0."
 
 #: builtins.c:1671
 msgid ""
@@ -4721,6 +4771,30 @@ msgid ""
 "    Returns success unless an invalid option is supplied or NAME does not\n"
 "    have a completion specification defined."
 msgstr ""
+"Athraíonn nó taispeánann \"compopt\" na roghanna iomlánaithe.\n"
+"        Athraítear na roghanna iomlánaithe le haghaidh gach AINM,\n"
+"    nó gan AINMneacha taispeántar an t-iomlánú atá á dhéanamh faoi láthair.\n"
+"    Gan ROGHA ar bith, taispeántar na hiomlánaithe le haghaidh gach AINM\n"
+"    nó an mionsonrú iomlánaithe reatha.\n"
+"    \n"
+"    Roghanna:\n"
+"    \t-o ROGHA\tSocraítear an rogha iomlánaithe ROGHA le haghaidh gach AINM.\n"
+"    \t-D\t\tAthraítear roghanna don iomlánú ordaithe \"réamhshocraithe\".\n"
+"    \t-E\t\tAthraítear roghanna don iomlánú ordaithe \"folamh\".\n"
+"    \t-I\t\tAthraítear roghanna don iomlánú ar an gcéad focal.\n"
+"    \n"
+"    Le \"+o+ in áit \"-o\", múchtar an rogha shonraithe.\n"
+"    \n"
+"    Argóintí:\n"
+"    \n"
+"    Tagraíonn gach AINM do ordú a bhfuil mionsonrú iomlánaithe sainmhínithe\n"
+"    dó roimh ré leis an ordú ionsuite \"complete\". Gan AINM, ní mór \"compopt\"\n"
+"    a ghlaoigh ó fheidhm atá ag déanamh iomlánaithe ag an am, agus athraítear\n"
+"    na roghanna don déantóir iomlánaithe sin atá ag rith.\n"
+"    \n"
+"    Stádas Scortha:\n"
+"    Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí, nó nach\n"
+"    bhfuil sonrú iomlánaithe ann le haghaih AINM."
 
 #: builtins.c:2033
 msgid ""
@@ -4756,6 +4830,38 @@ msgid ""
 "    Returns success unless an invalid option is given or ARRAY is readonly or\n"
 "    not an indexed array."
 msgstr ""
+"Léann \"mapfile\" línte ón ngnáthionchur agus cuireann in athróg eagair innéacsaithe iad.\n"
+"    \n"
+"    Léann línte ón ngnáthionchur agus cuireann san athróg eagair innéacsaithe\n"
+"    EAGAR iad, nó léann ón dtuairisceoir comhaid TC má shonraítear -u. Is í an\n"
+"    athróg MAPFILE an eagar réamhshocraithe.\n"
+"    \n"
+"    Roghanna:\n"
+"      -d TEORMHARCÓIR\tÚsáidtear TEORMHARCÓIR chun deireadh a chur le línte.\n"
+"      -n COMHAIREAMH\tCóipeáiltear COMHAIREAMH líne ar a mhéid. Más 0 é COMHAIREAMH,\n"
+"      \t\tcóipeáiltear gach líne.\n"
+"      -O BUNÚS\tTosaítear ag sannadh go EAGAR ag an innéacs BUNÚS. Is é 0 an BUNÚS\n"
+"      \t\tréamhshocraithe.\n"
+"      -s COMHAIREAMH\tDéantar neamhaird de na chéad COMHAIREAMH líne a léitear.\n"
+"      -t\tBaintear TEORMHARCÓIR ó deireadh gach líne (carachtar líne nua\n"
+"      réamhshocraithe).\n"
+"      -u TC\tLéitear línte ón dtuairisceoir comhad TC in áit an ghnáthionchuir.\n"
+"      -C AISGHLAOCH\tLuacháiltear AISGHLAOCH tar éis gach CANDAM líne a léitear.\n"
+"      -c CANDAM\tLíon na línte atá le léamh idir glaoanna ar AISGHLAOCH.\n"
+"      \n"
+"      Argóintí:\n"
+"        EAGAR\tAinm an athróige eagair atá le húsáid le haghaidh sonraí comhaid.\n"
+"      \n"
+"      Má shonráitear -C gan -c, is é 5000 an CANDAM réamhshocraithe. Agus AISGHLAOCH\n"
+"      á luacháil, tugtar dó innéacs na céad eiliminte eile atá le sannadh agus\n"
+"      an líne atá le sannadh don eilimint sin mar argóintí breise.\n"
+"      \n"
+"      Gan BUNÚS sonraithe go soiléir, glanfaidh \"mapfile\" EAGAR roimh faic a\n"
+"      shannadh dó.\n"
+"      \n"
+"      Stádas Scortha:\n"
+"      Aischuirtear rath ach sa chás go sonraítear rogha neamhbhailí, nó go bhfuil\n"
+"      EAGAR inléite amháin, nó nach eagar innéacsaithe é EAGAR."
 
 #: builtins.c:2069
 msgid ""
@@ -4763,9 +4869,9 @@ msgid ""
 "    \n"
 "    A synonym for `mapfile'."
 msgstr ""
-"Léigh línte ó chomhad agus cuir in athróg eagair iad.\n"
+"Léann línte ó chomhad agus cuireann in athróg eagair iad.\n"
 "    \n"
-"    Comhchiallach le 'mapfile'."
+"    Comhchiallach le \"mapfile\"."
 
 #~ msgid "Copyright (C) 2012 Free Software Foundation, Inc."
 #~ msgstr "Cóipcheart © 2012 Free Software Foundation, Inc."
index 9dd20a1920a00cb7de4b14fb7964f4bfbbc01842..20e39530201d7572685a9edd7785f43e8078dffc 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -1,25 +1,28 @@
 # Translation of bash to Croatian.
-# Copyright © 2016 Free Software Foundation, Inc.
+# Copyright © 2018 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
 #
 # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012, 2013.
 # Božidar Putanec <bozidarp@yahoo.com>, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 4.4\n"
+"Project-Id-Version: bash 5.0-beta2\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-11-16 15:54-0500\n"
-"PO-Revision-Date: 2018-05-21 18:15-0800\n"
+"PO-Revision-Date: 2018-12-05 17:31-0800\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: hr\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 2.0\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Poedit 2.2\n"
+"X-Poedit-Basepath: ../sources\n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Poedit-SearchPath-1: bash-5.0-beta2\n"
+"X-Poedit-SearchPath-2: bash-5.0-beta2/builtins\n"
 
 #: arrayfunc.c:58
 msgid "bad array subscript"
@@ -84,10 +87,10 @@ msgstr ""
 
 # Brace expansion is a mechanism by which arbitrary strings may be generated
 #: braces.c:429
-#, fuzzy, c-format
+#, c-format
 msgid "brace expansion: failed to allocate memory for %u elements"
 msgstr ""
-"brace expansion: nije uspjelo dodijeliti memoriju za %d elemenata\n"
+"brace expansion: nije uspjelo dodijeliti memoriju za %u elemenata\n"
 "(primjer ekspanzije unutar vitičastih zagrada: echo a{d,c}e -> ade, ace)"
 
 #: braces.c:474
@@ -264,11 +267,11 @@ msgstr "%s: nema takvoga posla"
 #: builtins/common.c:292
 #, c-format
 msgid "%s: no job control"
-msgstr "%s: nema upravljanja poslom u ovoj ljuski"
+msgstr "%s: nema kontrole nad poslovima u ovoj ljuski"
 
 #: builtins/common.c:294
 msgid "no job control"
-msgstr "nema upravljanja poslom u ovoj ljuski"
+msgstr "nema kontrole nad poslovima u ovoj ljuski"
 
 #: builtins/common.c:304
 #, c-format
@@ -479,7 +482,7 @@ msgstr "trenutačno"
 #: builtins/fg_bg.def:161
 #, c-format
 msgid "job %d started without job control"
-msgstr "posao %d pokrenuti je bez mogućnosti upravljanja"
+msgstr "posao %d je pokrenut bez kontrole nad njim"
 
 #: builtins/getopt.c:110
 #, c-format
@@ -514,11 +517,8 @@ msgstr[2] "Naredbi koje odgovaraju ključnim riječima „"
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"nisu pronađene teme pomoći za „%s“. Pokušajte s „help help“, „man -k %s“ ili "
-"„info %s“."
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "nisu pronađene teme pomoći za „%s“. Pokušajte s „help help“, „man -k %s“ ili „info %s“."
 
 #: builtins/help.def:224
 #, c-format
@@ -539,8 +539,7 @@ msgstr ""
 "Ove bash naredbe su interno definirane. Upišite „help“ za prikaz popisa.\n"
 "Upišite „help ime“ za više podataka o funkciji „ime“.\n"
 "Koristite „info bash“ za više općenitih podataka o ljusci.\n"
-"Koristite „man -k“ ili „info“ za više podataka o naredbama izvan ovog "
-"popisa.\n"
+"Koristite „man -k“ ili „info“ za više podataka o naredbama izvan ovog popisa.\n"
 "\n"
 "Zvjezdica (*) pokraj imena označava onemogućenu naredbu.\n"
 "\n"
@@ -694,12 +693,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 ""
 "Pokaže popis trenutačno zapamćenih direktorija. Direktoriji se unose\n"
@@ -752,14 +749,10 @@ msgstr ""
 "           direktorije u snop, odnosno samo manipulira sa snopom\n"
 "\n"
 "     Argumenti:\n"
-"      +N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule "
-"s\n"
-"             lijeve strane popisa prikazanoga s „dirs“) postane novi vrh "
-"snopa.\n"
-"      -N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule "
-"s\n"
-"             desne strane popisa prikazanoga s „dirs“) postane novi vrh "
-"snopa.\n"
+"      +N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+"             lijeve strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
+"      -N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+"             desne strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
 "      DIREKTORIJ  Doda DIREKTORIJ na vrh snopa direktorija i\n"
 "                    učini ga novim aktualnim radnim direktorijem.\n"
 "\n"
@@ -1080,9 +1073,8 @@ msgid "attempted assignment to non-variable"
 msgstr "vrijednost se može dodijeliti samo varijabli"
 
 #: expr.c:530
-#, fuzzy
 msgid "syntax error in variable assignment"
-msgstr "sintaktička greška u izrazu"
+msgstr "sintaktička greška zadavanja varijable"
 
 #: expr.c:544 expr.c:910
 msgid "division by 0"
@@ -1282,9 +1274,8 @@ msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: neuspješni getpgrp()"
 
 #: jobs.c:4245
-#, fuzzy
 msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: line discipline"
+msgstr "initialize_job_control: nema kontrole nad pozadinskim poslovima"
 
 #: jobs.c:4261
 msgid "initialize_job_control: line discipline"
@@ -1301,7 +1292,7 @@ msgstr "nije moguće postaviti procesnu grupu (%d) terminala"
 
 #: jobs.c:4306
 msgid "no job control in this shell"
-msgstr "nema kontrole poslova u ovoj ljusci"
+msgstr "nema kontrole nad poslovima u ovoj ljusci"
 
 #: lib/malloc/malloc.c:331
 #, c-format
@@ -1450,17 +1441,12 @@ msgstr "redak %d od here-document ima za razdjelnik EOF (očekuje se „%s“)"
 #: make_cmd.c:756
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection(): instrukcija za preusmjeravanje „%d“ je izvan raspona"
+msgstr "make_redirection(): instrukcija za preusmjeravanje „%d“ je izvan raspona"
 
 #: parse.y:2369
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-"shell_getc(): shell_input_line_size (%zu) je veća od SIZE_MAX (%lu): "
-"skraćuje se"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc(): shell_input_line_size (%zu) je veća od SIZE_MAX (%lu): skraćuje se"
 
 #: parse.y:2775
 msgid "maximum here-document count exceeded"
@@ -1648,7 +1634,7 @@ msgstr "/tmp mora biti ispravno ime direktorija"
 
 #: shell.c:798
 msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
+msgstr "u interaktivnoj ljusci pretty-printing se ignorira"
 
 #: shell.c:940
 #, c-format
@@ -1712,15 +1698,12 @@ msgstr "\t-%s ili -o opcija\n"
 #: shell.c:2013
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"„%s -c \"help set\"“  pokaže vam dodatne informacije o opcijama ljuske.\n"
+msgstr "„%s -c \"help set\"“  pokaže vam dodatne informacije o opcijama ljuske.\n"
 
 #: shell.c:2014
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"„%s -c help set“  pokaže vam više informacija o ugrađenim funkcijama "
-"ljuske.\n"
+msgstr "„%s -c help set“  pokaže vam više informacija o ugrađenim funkcijama ljuske.\n"
 
 #: shell.c:2015
 #, c-format
@@ -1735,8 +1718,7 @@ msgstr "bash Web stranica: <http://www.gnu.org/software/bash>\n"
 #: shell.c:2018
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
-"Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
+msgstr "Općenita pomoć za korištenje GNU softvera: <http://www.gnu.org/gethelp/>\n"
 
 #: sig.c:730
 #, c-format
@@ -1959,8 +1941,7 @@ msgstr "nije moguće napraviti potomka za zamjenu naredbi"
 
 #: subst.c:6235
 msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-"command_substitute(): nije moguće kopirati cijev kao deskriptor datoteke 1"
+msgstr "command_substitute(): nije moguće kopirati cijev kao deskriptor datoteke 1"
 
 #: subst.c:6685 subst.c:9597
 #, c-format
@@ -1978,9 +1959,9 @@ msgid "%s: invalid variable name"
 msgstr "„%s“: nevaljano ime varijable"
 
 #: subst.c:7031
-#, fuzzy, c-format
+#, c-format
 msgid "%s: parameter not set"
-msgstr "%s: prazni parametar ili nije postavljen"
+msgstr "%s: parametar nije postavljen"
 
 #: subst.c:7033
 #, c-format
@@ -2003,11 +1984,8 @@ msgid "$%s: cannot assign in this way"
 msgstr "$%s: nije moguće dodijeliti na ovaj način"
 
 #: subst.c:9460
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
-msgstr ""
-"buduće inačice ljuske će prisiliti procjenu kao aritmetičku supstituciju"
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr "buduće inačice ljuske će prisiliti procjenu kao aritmetičku supstituciju"
 
 #: subst.c:10017
 #, c-format
@@ -2056,9 +2034,9 @@ msgid "invalid signal number"
 msgstr "nevaljani broj za signal"
 
 #: trap.c:320
-#, fuzzy, c-format
+#, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr "eval: prekoračena je dopuštena razina eval gniježđenja (%d)"
+msgstr "trap handler: prekoračena je dopuštena razina gniježđenja (%d)"
 
 #: trap.c:408
 #, c-format
@@ -2067,11 +2045,8 @@ msgstr "run_pending_traps(): loša vrijednost u trap_list[%d]: %p"
 
 #: trap.c:412
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: signalom manipulira SIG_DFL, opet šalje %d (%s) na samoga "
-"sebe"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: signalom manipulira SIG_DFL, opet šalje %d (%s) na samoga sebe"
 
 #: trap.c:470
 #, c-format
@@ -2149,14 +2124,11 @@ msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s vrijednost za kompatibilnost je izvan raspona"
 
 #: version.c:46 version2.c:46
-#, fuzzy
 msgid "Copyright (C) 2018 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2016 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2018 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"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 msgstr ""
 "Licencija:\n"
 "GPLv3+: GNU GPL inačica 3 ili novija <http://gnu.org/licenses/gpl.html>\n"
@@ -2187,8 +2159,7 @@ msgstr "%s: nije moguće dodijeliti %lu bajtova"
 #: xmalloc.c:165
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"%s: %s:%d: nije moguće dodijeliti %lu bajtova (dodijeljeno je %lu bajtova)"
+msgstr "%s: %s:%d: nije moguće dodijeliti %lu bajtova (dodijeljeno je %lu bajtova)"
 
 #: xmalloc.c:167
 #, c-format
@@ -2204,9 +2175,7 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] IME..."
 
 #: 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]"
+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 TIPKOVNICA] [-f DATOTEKA] [-q IME] [-u IME]\n"
 "           [-r PREČAC] [-x PREČAC:SHELL_NAREDBA]\n"
@@ -2286,8 +2255,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] [PRVA] [ZADNJA] ili: fc -s [UZORAK=ZAMJENA] [NAREDBA]"
+msgstr "fc [-e EDITOR] [-lnr] [PRVA] [ZADNJA] ili: fc -s [UZORAK=ZAMJENA] [NAREDBA]"
 
 #: builtins.c:109
 msgid "fg [job_spec]"
@@ -2306,9 +2274,7 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [UZORAK ...]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
 msgstr ""
 "history [-c] [-d POZICIJA] [N]\n"
 "    ili: history -anrw [DATOTEKA]\n"
@@ -2323,9 +2289,7 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [JOBSPEC... | PID...]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
 msgstr ""
 "kill [-s SIGSPEC | -n SIGNUM | -SIGSPEC] pid | JOBSPEC\n"
 " ili: kill -l [SIGSPEC]"
@@ -2335,9 +2299,7 @@ msgid "let arg [arg ...]"
 msgstr "let ARGUMENT..."
 
 #: builtins.c:138
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
 msgstr ""
 "read [-ers] [-a POLJE] [-d MEĐA] [-i TEKST] [-p PROMPT]\n"
 "           [-n BROJ_ZNAKOVA] [-N BROJ_ZNAKOVA] [-t SEKUNDA]\n"
@@ -2404,9 +2366,8 @@ msgid "umask [-p] [-S] [mode]"
 msgstr "umask [-p] [-S] [MODE]"
 
 #: builtins.c:177
-#, fuzzy
 msgid "wait [-fn] [id ...]"
-msgstr "wait [-n] [ID...]"
+msgstr "wait [-fn] [ID...]"
 
 #: builtins.c:181
 msgid "wait [pid ...]"
@@ -2433,9 +2394,7 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case RIJEČ in [UZORAK [| UZORAK]...) NAREDBE;;]... esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
 msgstr ""
 "if NAREDBE; then NAREDBE; [elif NAREDBE; then NAREDBE;]... [else NAREDBE;]\n"
 "    fi"
@@ -2497,45 +2456,33 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v VARIJABLA] FORMAT [ARGUMENTI]"
 
 #: builtins.c:231
-#, fuzzy
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
-"W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+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] [-DE] [-o OPCIJA] [-A AKCIJA]\n"
-"                   [-C NAREDBA] [-F FUNCIJA] [-G UZORAK] [-P PREFIKS]\n"
+"complete [-abcdefgjksuv] [-pr] [-DEI] [-o OPCIJA] [-A AKCIJA]\n"
+"                   [-C NAREDBA] [-F FUNCIJA] [-G GLOB_UZORAK] [-P PREFIKS]\n"
 "                   [-S SUFIKS] [-W POPIS_RIJEČI] [-X FILTAR_UZORAKA] [IME...]"
 
 #: 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]"
+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 OPCIJA] [-A AKCIJA] [-C NAREDBA]\n"
-"                 [-F FUNCIJA] [-G UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
+"                 [-F FUNCIJA] [-G GLOB_UZORAK] [-P PREFIKS] [-S SUFIKS]\n"
 "                 [-W POPIS_RIJEČI] [-X FILTAR_UZORAKA] [RIJEČ]"
 
 #: builtins.c:239
-#, fuzzy
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
-msgstr "compopt [-o|+o OPCIJA] [-DE] [IME...]"
+msgstr "compopt [-o|+o OPCIJA] [-DEI] [IME...]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 msgstr ""
 "mapfile [-d MEĐA] [-n BROJ] [-O POČETAK] [-s BROJ] [-t] [-u FD]\n"
 "                 [-C FUNKCIJA] [-c TOLIKO] [POLJE]"
 
 #: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 msgstr ""
-"readarray [-n BROJ] [-O POČETAK] [-s BROJ] [-t] [-u FD]\n"
+"readarray [-d DELIM] [-n BROJ] [-O POČETAK] [-s BROJ] [-t] [-u FD]\n"
 "                     [-C FUNKCIJA] [-c TOLIKO] [POLJE]"
 
 #: builtins.c:256
@@ -2553,8 +2500,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 ""
 "Definira ili prikaže aliase.\n"
@@ -2594,30 +2540,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"
@@ -2692,14 +2633,12 @@ msgstr ""
 "    Završi s kȏdom 0 osim ako je N manji od 1."
 
 #: builtins.c:354
-#, fuzzy
 msgid ""
 "Execute shell builtins.\n"
 "    \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"
@@ -2711,8 +2650,7 @@ msgstr ""
 "    ARGUMENTIMA. To je korisno ako želite redefinirati implementaciju\n"
 "    ugrađene shell funkcije kao vlastitu shell funkciju (skriptu s istim\n"
 "    imenom kao ugrađena shell funkcija), a potrebna vam je funkcionalnost\n"
-"    te ugrađene shell funkcije unutar vaše vlastite skripte (shell "
-"funkcije).\n"
+"    te ugrađene shell funkcije unutar vaše vlastite skripte (shell funkcije).\n"
 "\n"
 "    Završi s kȏdom UGRAĐENE_SHELL_FUNKCIJE ili s kȏdom 1 ako\n"
 "    UGRAĐENA_SHELL_FUNKCIJA nije ugrađene funkcija ljuske (shell builtin)."
@@ -2748,22 +2686,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"
@@ -2779,13 +2711,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 ""
 "Promjeni trenutačni direktorij.\n"
@@ -2882,8 +2812,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"
@@ -2911,7 +2840,6 @@ msgstr ""
 "    ili s 1 ako NAREDBA nije pronađena."
 
 #: builtins.c:490
-#, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -2942,8 +2870,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"
@@ -2983,7 +2910,7 @@ msgstr ""
 "    naredba „local“. Opcija „-g“ spriječi takvo ponašanje.\n"
 "\n"
 "    Završi s kȏdom 0 osim ako je dȃna nevaljana opcija\n"
-"    ili se dogodila greška prilikom pridruživanja varijabli."
+"    ili se dogodila greška prilikom zadavanja varijabli."
 
 #: builtins.c:530
 msgid ""
@@ -3024,8 +2951,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"
@@ -3097,8 +3023,7 @@ msgid ""
 msgstr ""
 "Ispiše argumente na standardni izlaz.\n"
 "\n"
-"    Prikaže ARGUMENTE na standardnom izlazu (pripoji im znak za novi "
-"redak).\n"
+"    Prikaže ARGUMENTE na standardnom izlazu (pripoji im znak za novi redak).\n"
 "    Opcijom „-n“ može se isključiti pripajanje znaka za novi redak.\n"
 "\n"
 "    Završi s kȏdom 0 ako se ne dogodi greška pisanja."
@@ -3159,8 +3084,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"
@@ -3222,26 +3146,20 @@ msgstr ""
 "    slova slijedi dvotočka, očekuje se da opcija ima argument koji treba\n"
 "    biti bjelinom odvojen od opcije.\n"
 "\n"
-"    Svaki put kȁd se pozove, getopts će smjestiti sljedeću opciju u "
-"ljuskinu\n"
+"    Svaki put kȁd se pozove, getopts će smjestiti sljedeću opciju u ljuskinu\n"
 "    varijablu IME (ako IME ne postoji, getopts ga inicijalizira), a indeks\n"
 "    sljedećeg argumenta koji treba procesirati u ljuskinu varijablu OPTIND.\n"
 "    OPTIND je inicijaliziran na 1 pri svakom pozivanju ljuske ili ljuskine\n"
 "    skripte. Ako opcija zahtijeva argument, getopts smjesti taj argument u\n"
 "    ljuskinu varijablu OPTARG.\n"
 "\n"
-"    getopts javlja greške na jedan od dva načina. Ako je dvotočka prvi znak "
-"u\n"
-"    OPCIJA_STRING, getopts tiho prijavi grešku (ne ispisuje poruke o "
-"greškama).\n"
-"    Ako naiđe na nevaljanu opciju, getopts smjesti nađeni znak opcije u "
-"OPTARG.\n"
-"    Ako zahtijevani argument nije pronađen, getopts smjesti „:“ u IME i "
-"postavi\n"
+"    getopts javlja greške na jedan od dva načina. Ako je dvotočka prvi znak u\n"
+"    OPCIJA_STRING, getopts tiho prijavi grešku (ne ispisuje poruke o greškama).\n"
+"    Ako naiđe na nevaljanu opciju, getopts smjesti nađeni znak opcije u OPTARG.\n"
+"    Ako zahtijevani argument nije pronađen, getopts smjesti „:“ u IME i postavi\n"
 "    OPTARG na pronađeni znak opcije. Ako getopts ne radi tiho i naiđe na\n"
 "    nevaljanu opciju, getopts smjesti „?“ u IME i poništi OPTARG.\n"
-"    Ako zahtijevani argument nije pronađen, getopts smjesti „?“ u IME, "
-"poništi\n"
+"    Ako zahtijevani argument nije pronađen, getopts smjesti „?“ u IME, poništi\n"
 "    OPTARG i ispiše poruku o greškama.\n"
 "\n"
 "    Ako ljuskina varijabla OPTERR ima vrijednost 0, getopts onemogući ispis\n"
@@ -3259,8 +3177,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"
@@ -3268,13 +3185,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 ""
 "Zamjeni ljusku s dȃnom naredbom.\n"
 "\n"
@@ -3308,8 +3223,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 ""
 "Izlaz iz prijavne ljuske.\n"
@@ -3320,15 +3234,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"
@@ -3342,8 +3254,7 @@ 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 ""
 "Prikaže ili izvrši naredbe iz popisa povijesti.\n"
 "\n"
@@ -3389,10 +3300,8 @@ msgstr ""
 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"
@@ -3404,7 +3313,7 @@ msgstr ""
 "    pokrenuti s „&“. Bez dȃnih JOBSPEC, ljuska rabi svoj pojam\n"
 "    o trenutačnom poslu.\n"
 "\n"
-"    Završi s kȏdom 0 osim ako upravljanje s poslovima nije omogućeno\n"
+"    Završi s kȏdom 0 osim ako kontrola nad poslovima nije omogućena\n"
 "    ili se dogodila greška."
 
 #: builtins.c:787
@@ -3412,8 +3321,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"
@@ -3449,7 +3357,6 @@ msgstr ""
 "    ili je dȃna nevaljana opcija."
 
 #: builtins.c:812
-#, fuzzy
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3467,8 +3374,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 ""
 "Prikaže informacije o ugrađenim (builtin) naredbama.\n"
 "\n"
@@ -3476,7 +3382,7 @@ msgstr ""
 "    UZORAK, pokaže detaljnu pomoć za sve naredbe koje podudare UZORAK,\n"
 "    inače ispiše popis tema za koje možete potražiti detalje.\n"
 "\n"
-"    Opties:\n"
+"    Opcije:\n"
 "      -d   ukratko opisano djelovanje naredbe\n"
 "      -m   prikaže uporabu u pseudo manpage formatu\n"
 "      -s   prikaže samo sinopsis uporabe za svaku\n"
@@ -3486,7 +3392,6 @@ msgstr ""
 "    ili je dȃna nevaljana opcija."
 
 #: builtins.c:836
-#, fuzzy
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3514,8 +3419,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."
@@ -3591,8 +3495,7 @@ msgstr ""
 "    pronađen u NAREDBI ili u ARGUMENTIMA s odgovarajućim\n"
 "    ID-om procesne grupe i izvrši NAREDBU s ARGUMENTIMA.\n"
 "\n"
-"    Završi s kȏdom 0 osim ako je dȃna nevaljana opcija ili se dogodila "
-"greška.\n"
+"    Završi s kȏdom 0 osim ako je dȃna nevaljana opcija ili se dogodila greška.\n"
 "    Ako je dȃna opcija -x, završi sa izlaznim statusom NAREDBE."
 
 #: builtins.c:900
@@ -3677,8 +3580,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"
@@ -3756,21 +3658,17 @@ msgstr ""
 "    inače završi s kȏdom 0."
 
 #: builtins.c:988
-#, 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"
+"    the last NAME.  Only the characters found in $IFS are recognized as word\n"
 "    delimiters.\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"
@@ -3782,8 +3680,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"
@@ -3801,18 +3698,14 @@ 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 ""
 "Pročita redak iz standardnoga ulaza i razdijeli ga na polja.\n"
 "\n"
-"    Pročita jedan redak iz standardnoga ulaza (ili dȃnoga deskriptora "
-"datoteke\n"
-"    FD ako je dȃna opcija „-u“) i dodijeli prvu riječ prvom IMEnu, drugu "
-"riječ\n"
+"    Pročita jedan redak iz standardnoga ulaza (ili dȃnoga deskriptora datoteke\n"
+"    FD ako je dȃna opcija „-u“) i dodijeli prvu riječ prvom IMEnu, drugu riječ\n"
 "    drugom IMEnu, i tako dalje; višak riječi dodijeli je zadnjem IMEnu\n"
 "    Samo znakovi sadržani u  varijabli IFS prepoznaju se kao MEĐA\n"
 "    (razdjelnik riječi). Ako nije dȃno nijedno IME, pročitani redak se\n"
@@ -3821,9 +3714,8 @@ msgstr ""
 "    Opcije:\n"
 "      -a POLJE   pročitane riječi dodijeli sekvencijalno indeksima POLJA\n"
 "                   počevši od nule\n"
-"      -d MEĐA    nastavi čitati sve dok ne pročita prvu MEĐU (umjesto LF "
-"znaka)\n"
-"      -e           u interaktivnoj ljusci rabi „readline“ za čitanje retka\n"
+"      -d MEĐA    nastavi čitati sve dok ne pročita prvu MEĐU (umjesto LF znaka)\n"
+"      -e           rabi „readline“ za dobaviti redak\n"
 "      -i TEKST   rabi TEKST kao početni tekst za „readline“\n"
 "      -n BROJ    zaustavi čitanje nakon pročitanih ne više od BROJ znakova\n"
 "                   ili nakon LF znaka (umjesto da uvijek čeka na LF znak)\n"
@@ -3835,14 +3727,12 @@ msgstr ""
 "      -s         siguran ulaz — ne odjekuje ulaz na terminal\n"
 "      -t BROJ    nakon isteka BROJ SEKUNDI prestane čekati na ulaz i završi\n"
 "                   s kȏdom većim od 128; zadano, broj sekundi čekanja je\n"
-"                   vrijednost varijable TMOUT; BROJ može biti i realni "
-"broj;\n"
+"                   vrijednost varijable TMOUT; BROJ može biti i realni broj;\n"
 "                   Ako je BROJ = 0, „read“ završi odmah bez da išta čita, a\n"
 "                   samo ako je ulaz dostupni na specificiranom deskriptoru\n"
 "                   datoteke Završi s kȏdom 0\n"
 "\n"
-"      -u FD      čita iz deskriptora datoteke FD umjesto iz standardnoga "
-"ulaza\n"
+"      -u FD      čita iz deskriptora datoteke FD umjesto iz standardnoga ulaza\n"
 "\n"
 "      Završi s kȏdom 0 osim ako ne naiđe na konac datoteke\n"
 "      (EOF), ili je isteklo vrijeme čekanja, ili se dogodila greška\n"
@@ -3912,8 +3802,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"
@@ -3937,8 +3826,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"
@@ -3966,16 +3854,14 @@ msgstr ""
 "      -B  izvrši brace expansion, npr. echo a{d,c}e -> ade, ace (zadano)\n"
 "      -b  odmah prijavi prekid posla (ne čeka da završi trenutna naredba)\n"
 "      -C  onemogući da preusmjereni eksport piše preko regularnih datoteka\n"
-"      -E  omogući da bilo koji ERR „trap“ naslijede funkcije ljuske i "
-"potomci\n"
+"      -E  omogući da bilo koji ERR „trap“ naslijede funkcije ljuske i potomci\n"
 "      -e  završi odmah ako naredba završi s kȏdom različitim od nula\n"
-"      -f  onemogući zamjenske znakove za imena datoteka (isključi "
-"„globbing“)\n"
+"      -f  onemogući zamjenske znakove za imena datoteka (isključi „globbing“)\n"
 "      -H  omogući upotrebu znaka „!“ za supstituciju povijesti naredbi\n"
 "      -h  pamti (apslolutne) lokacije izvršenih naredbi (zadano)\n"
 "      -k  smjesti sve argumente dodijeljene varijablama u okolinu\n"
 "            (a ne samo one koje prethode imenu naredbe)\n"
-"      -m  upravljanje s poslovima je omogućena (zadano)\n"
+"      -m  kontrola nad poslovima je omogućena (zadano)\n"
 "      -n  pročita, ali ne izvrši naredbe („testiranje“)\n"
 "      -o IME_OPCIJE  omogući IME_OPCIJU (v. niže za dugačka imena opcija)\n"
 "      -P  ne razriješi simboličke veze pri izvršavanju naredbi poput „cd“\n"
@@ -4003,8 +3889,7 @@ msgstr ""
 "\n"
 "    Dugački nazivi koji se koriste s opcijom -o (ili +o)\n"
 "      allexport    isto kao -a\n"
-"      braceexpand  isto kao -B  (brace ekspanzija, npr. echo a{d,c}e -> ade, "
-"ace\n"
+"      braceexpand  isto kao -B  (brace ekspanzija, npr. echo a{d,c}e -> ade, ace\n"
 "      emacs        za uređivanje redaka koristi sučelje u „emacs“ stilu\n"
 "      errexit      isto kao -e\n"
 "      errtrace     isto kao -E\n"
@@ -4024,8 +3909,7 @@ msgstr ""
 "      nounset      isto kao -u\n"
 "      onecmd       isto kao -t\n"
 "      physical     isto kao -P\n"
-"      pipefail     cjevovod vrati vrijednost izlaznog statusa zadnje "
-"neuspješne\n"
+"      pipefail     cjevovod vrati vrijednost izlaznog statusa zadnje neuspješne\n"
 "                     naredbe ili 0 ako su svi poslovi uspješno završeni\n"
 "      posix        striktno poštuje POSIX standard\n"
 "      privileged   isto kao -p\n"
@@ -4047,8 +3931,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"
@@ -4078,8 +3961,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"
@@ -4131,8 +4013,7 @@ msgstr ""
 "\n"
 "    Označi svako IME kao nepromjenjivo (readonly), tako da se vrijednosti\n"
 "    ovih IMEna ne može promijeniti kasnijim operacijama. Ako je dȃna\n"
-"    VRIJEDNOST, prvo mu dodijeli VRIJEDNOST, a zatim ga označi "
-"nepromjenjivim.\n"
+"    VRIJEDNOST, prvo mu dodijeli VRIJEDNOST, a zatim ga označi nepromjenjivim.\n"
 "\n"
 "    Opcije:\n"
 "      -a  svako IME se odnosi na varijable indeksiranoga polja\n"
@@ -4207,7 +4088,7 @@ msgstr ""
 "    Opcije:\n"
 "      -f  prisili obustavu, čak i ako je to prijavna ljuska\n"
 "\n"
-"    Završi s kȏdom 0 osim ako upravljanje poslom nije omogućeno\n"
+"    Završi s kȏdom 0 osim ako kontrola nad poslovima nije omogućena\n"
 "    ili se dogodila greška."
 
 #: builtins.c:1255
@@ -4244,8 +4125,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"
@@ -4266,8 +4146,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"
@@ -4309,22 +4188,18 @@ msgstr ""
 "        -d DATOTEKA       istina ako je datoteka direktorij\n"
 "        -e DATOTEKA       istina ako datoteka postoji\n"
 "        -f DATOTEKA       istina ako je datoteka regularna datoteka\n"
-"        -G DATOTEKA       istina ako je datoteka efektivno vlasništvo vaše "
-"grupe\n"
+"        -G DATOTEKA       istina ako je datoteka efektivno vlasništvo vaše grupe\n"
 "        -g DATOTEKA       istina ako je datoteka SETGUID\n"
 "        -h DATOTEKA       istina ako je datoteka simbolička veza\n"
-"        -k DATOTEKA       istina ako datoteka ima postavljeni \"sticky\" "
-"bit\n"
+"        -k DATOTEKA       istina ako datoteka ima postavljeni \"sticky\" bit\n"
 "        -L DATOTEKA       istina ako je datoteka simbolička veza\n"
-"        -N DATOTEKA       istina ako se datoteka promijenila od zadnjeg "
-"čitanja\n"
+"        -N DATOTEKA       istina ako se datoteka promijenila od zadnjeg čitanja\n"
 "        -O DATOTEKA       istina ako je datoteka efektivno vaše vlasništvo\n"
 "        -p DATOTEKA       istina ako je datoteka imenovana cijev\n"
 "        -r DATOTEKA       istina ako vi možete čitati datoteku\n"
 "        -S DATOTEKA       istina ako je datoteka utičnica\n"
 "        -s DATOTEKA       istina ako datoteka nije prazna\n"
-"        -t DESKRIPTOR     istina ako je deskriptor datoteke otvoren u "
-"terminalu\n"
+"        -t DESKRIPTOR     istina ako je deskriptor datoteke otvoren u terminalu\n"
 "        -u DATOTEKA       istina ako je datoteka SETUID\n"
 "        -w DATOTEKA       istina ako vi možete pisati datoteku\n"
 "        -x DATOTEKA       istina ako vi možete izvršiti datoteku\n"
@@ -4349,15 +4224,13 @@ msgstr ""
 "    Ostali operatori:\n"
 "        -o OPCIJA         istina ako je ova OPCIJA ljuske omogućena\n"
 "        -v VARIJABLA      istina ako ova VARIJABLA ima vrijednost\n"
-"        -R VARIJABLA      istina ako je ova VARIJABLA referencija "
-"(nameref) \n"
+"        -R VARIJABLA      istina ako je ova VARIJABLA referencija (nameref) \n"
 "        ! IZRAZ           istina ako IZRAZ neistiniti\n"
 "      IZRAZ1 -a IZRAZ2    istina ako su oba izraza istinita\n"
 "      IZRAZ1 -o IZRAZ2    laž ako su oba izraza neistinita\n"
 "      ARG1 OP ARG2        istina ako je aritmetika ispravna; operator OP je\n"
 "                            jedan od: -eq, -ne, -lt, -le, -gt, ili -ge;\n"
-"                            koji znače: jednako, nejednako, manje od, "
-"manje,\n"
+"                            koji znače: jednako, nejednako, manje od, manje,\n"
 "                            ili jednako, veće od, veće ili jednako.\n"
 "\n"
 "    Završi s kȏdom 0 ako je IZRAZ istiniti, 1 ako je IZRAZ neistiniti,\n"
@@ -4379,8 +4252,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"
@@ -4397,8 +4269,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"
@@ -4407,34 +4278,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 ""
 "Prikupljanje (hvatanje) signala i drugih događaja.\n"
 "\n"
@@ -4444,8 +4307,7 @@ msgstr ""
 "    ARGUMENT je naredba koja se pročita i izvrši kȁd ljuska primi jedan od\n"
 "    specificiranih signala (SIGNAL_SPEC). Ako nema ARGUMENTA (i dȃn je samo\n"
 "    jedan signal), ili ARGUMENT je „-“, specificirani signal zadobije svoju\n"
-"    originalnu vrijednost (koju je imao na startu ove ljuske). Ako je "
-"ARGUMENT\n"
+"    originalnu vrijednost (koju je imao na startu ove ljuske). Ako je ARGUMENT\n"
 "    prazni string, ljuska i njezini potomci ignoriraju svaki SIGNAL_SPEC.\n"
 "\n"
 "    Ako je SIGNAL_SPEC 0 ili EXIT, ARGUMENT se izvrši kȁd zatvorite\n"
@@ -4495,8 +4357,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 ""
 "Informacije o tipu naredbe.\n"
 "\n"
@@ -4524,8 +4385,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"
@@ -4601,8 +4461,7 @@ msgstr ""
 "    Nisu sve opisane opcije dostupne na svim platformama.\n"
 "\n"
 "    Ako je specificirani, LIMIT postane nova vrijednost za specificirani\n"
-"    resurs, inače se prikažu trenutačne vrijednosti. Specijalne "
-"vrijednosti,\n"
+"    resurs, inače se prikažu trenutačne vrijednosti. Specijalne vrijednosti,\n"
 "    „soft“, „hard“, i „unlimited“ su trenutačni soft limit, trenutačni hard\n"
 "    limit i unlimited. Ako nijedna opcija nije specificirana, podrazumijeva\n"
 "    se da je aktivna „-f“ opcija.\n"
@@ -4648,12 +4507,10 @@ msgstr ""
 "    ili je dȃna  nevaljana opcija."
 
 #: builtins.c:1495
-#, fuzzy
 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"
@@ -4674,27 +4531,27 @@ msgstr ""
 "    Čeka na svaki posao identificirani s ID — to jest indikatorom posla ili\n"
 "    indikatorom procesa — i izvijesti njegov završni status. Ako nije dȃn\n"
 "    ID, čeka na sve trenutačno aktivne potomke, a završni status je nula.\n"
-"    Ako je ID specifikacija posla, čeka na sve procese u cjevovodu tog "
-"posla.\n"
+"    Ako je ID specifikacija posla, čeka na sve procese u cjevovodu tog posla.\n"
 "\n"
 "    Ako je dȃna opcija „-n“, čeka na završetak sljedećeg posla i vrati\n"
 "    njegov izlazni status.\n"
 "\n"
-"    Završi s kȏdom zadnjeg ID-a, s kȏdom 1 ako je ID nevaljani\n"
+"    Ako je dȃna opcija „-f“ i kontrola nad poslovima je omogućena, čeka dok\n"
+"    specificirani ID ne završi, umjesto da promijeni status.\n"
+"\n"
+"    Završi s kȏdom zadnjeg ID-a, a s kȏdom 1 ako je ID nevaljani\n"
 "    ili je dȃna nevaljana opcija."
 
 #: builtins.c:1519
 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 ""
 "Čeka da proces završi i vrati njegov izlazni status.\n"
@@ -4720,8 +4577,7 @@ msgid ""
 msgstr ""
 "Izvrši naredbe za svakoga člana u popisu.\n"
 "\n"
-"    Petlja „for“ izvrši sekvenciju naredbi za svakoga člana u popisu "
-"stavki.\n"
+"    Petlja „for“ izvrši sekvenciju naredbi za svakoga člana u popisu stavki.\n"
 "    Ako nema operanda „in RIJEČIMA...;“, podrazumijeva se operand\n"
 "    „in \"$@\"“. Svakom elementu u RIJEČIMA, IME se postavi na taj element\n"
 "    i izvrše se NAREDBE.\n"
@@ -4783,12 +4639,9 @@ msgstr ""
 "    ulaza; ako se redak sastoji od broja koji odgovara jednoj od prikazanih\n"
 "    riječi, onda varijabla IME dobije vrijednost te riječi; ako je redak\n"
 "    prazan, RIJEČI i prompt se ponovno prikažu; ako se pročita EOF „select“\n"
-"    naredba završi s poslom. Bilo koja druga vrijednost koja se pročita "
-"učini\n"
-"    da se IME isprazni (nulira). Pročitani redak spremi se u varijablu "
-"REPLY.\n"
-"    NAREDBE se izvršavaju nakon svakog izbora, tako dugo dok „break“ "
-"naredba\n"
+"    naredba završi s poslom. Bilo koja druga vrijednost koja se pročita učini\n"
+"    da se IME isprazni (nulira). Pročitani redak spremi se u varijablu REPLY.\n"
+"    NAREDBE se izvršavaju nakon svakog izbora, tako dugo dok „break“ naredba\n"
 "    ne prekine posao.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
@@ -4832,8 +4685,7 @@ msgid ""
 msgstr ""
 "Izvrši naredbe ovisno o slaganju s uzorkom.\n"
 "\n"
-"    Izvrši onu NAREDBU koja odgovara prvom UZORKU koji se podudara s "
-"RIJEČI.\n"
+"    Izvrši onu NAREDBU koja odgovara prvom UZORKU koji se podudara s RIJEČI.\n"
 "    Znak „|“ rabi se za razdvajanje više uzoraka.\n"
 "\n"
 "    Završi s kȏdom zadnje izvršene naredbe."
@@ -4842,17 +4694,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"
@@ -4864,8 +4711,7 @@ msgstr ""
 "    zadatke iza prvog „then“; inače, izvrše se zadatci iza sljedećeg „elif“\n"
 "    (ako postoji), ili „else“ (ako postoji). Ako „elif“ završi s kȏdom\n"
 "    nula, izvrše se zadatci iza odgovarajućih „then“. Ako više nema „elif“,\n"
-"    ili „else“, ili nakon izvršenja zadataka iza „then“, „if“ naredba "
-"završi.\n"
+"    ili „else“, ili nakon izvršenja zadataka iza „then“, „if“ naredba završi.\n"
 "\n"
 "    „if“ završi s kȏdom zadnjeg izvršenoga zadatka."
 
@@ -4929,8 +4775,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"
@@ -5007,12 +4852,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"
@@ -5044,8 +4886,7 @@ msgstr ""
 "\n"
 "    Ako se rabe operatori „==“ ili „!=“, onda se string desno od operatora\n"
 "    smatra za uzorak i  provodi se podudaranje uzoraka.\n"
-"    Ako se rabi operator „=~“, onda se string na desno od operatora "
-"podudara\n"
+"    Ako se rabi operator „=~“, onda se string na desno od operatora podudara\n"
 "    kao regularni izraz.\n"
 "\n"
 "    Operatori „&&“ i „|| ne evaluiraju IZRAZ2 ako je IZRAZ1 dovoljan za\n"
@@ -5121,8 +4962,7 @@ msgstr ""
 "    HISTFILESIZE  maksimalni broj redaka datoteke s povijesti naredba\n"
 "    HISTIGNORE    popis uzoraka koji opisuju naredbe koje ne treba zapisati\n"
 "                    u datoteku koja sadrži povijest vaših naredbi\n"
-"    HISTSIZE      maksimalni broj redaka koje aktualna ljuska može "
-"dosegnuti\n"
+"    HISTSIZE      maksimalni broj redaka koje aktualna ljuska može dosegnuti\n"
 "    HOME          puni naziv staze do vašega osobnoga direktorija\n"
 "    HOSTNAME      ime računala na kojem se izvršava „bash“\n"
 "    HOSTTYPE      tip CPU-a na kojem se izvršava „bash“\n"
@@ -5139,8 +4979,7 @@ msgstr ""
 "    SHELLOPTS     popis svih omogućenih opcija ljuske\n"
 "    TERM          naziv vrste trenutačnoga terminala\n"
 "    TIMEFORMAT    pravilo za format ispisa „time“ statistika\n"
-"    auto_resume   ako nije prazan, učini da se naredbena riječ na "
-"naredbenom\n"
+"    auto_resume   ako nije prazan, učini da se naredbena riječ na naredbenom\n"
 "                    retku prvo potraži na popisu obustavljenih poslova,\n"
 "                    i ako se tamo pronađe, taj se posao premjesti u\n"
 "                    interaktivni mȏd; vrijednost „exact“ znači da naredbena\n"
@@ -5149,8 +4988,7 @@ msgstr ""
 "                    podudariti podstring naredbe iz popisa; bilo koja druga\n"
 "                    vrijednost znači da naredbena riječ mora biti prefiks\n"
 "                    obustavljene naredbe\n"
-"    histchars     znakovi koje upravljaju s proširenjem i brzom "
-"supstitucijom\n"
+"    histchars     znakovi koje upravljaju s proširenjem i brzom supstitucijom\n"
 "                    povijesti; prvi znak je znak za „supstituciju\n"
 "                    povijesti“, obično „!“; drugi znak je „znak brze\n"
 "                    supstitucije“, obično „^“; treći znak je „komentar\n"
@@ -5199,14 +5037,10 @@ msgstr ""
 "    Argumenti:\n"
 "      DIREKTORIJ  Doda DIREKTORIJ na vrh snopa direktorija i\n"
 "                    učini ga novim aktualnim radnim direktorijem.\n"
-"      +N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule "
-"s\n"
-"             lijeve strane popisa prikazanoga s „dirs“) postane novi vrh "
-"snopa.\n"
-"      -N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule "
-"s\n"
-"             desne strane popisa prikazanoga s „dirs“) postane novi vrh "
-"snopa.\n"
+"      +N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+"             lijeve strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
+"      -N   Zarotira snop tako, da N-ti direktorij u snopu (brojeći od nule s\n"
+"             desne strane popisa prikazanoga s „dirs“) postane novi vrh snopa.\n"
 "\n"
 "      Naredba „dirs“ prikaže trenutačni sadržaj snopa direktorija.\n"
 "\n"
@@ -5312,7 +5146,6 @@ msgstr ""
 "    ili se dogodila greška."
 
 #: builtins.c:1902
-#, fuzzy
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5357,34 +5190,27 @@ 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"
-"      %(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 ""
 "Oblikuje ispis ARGUMENATA prema pravilima FORMATA.\n"
@@ -5417,14 +5243,11 @@ msgstr ""
 "    ili se dogodila greška pisanja ili greška pri dodijeli."
 
 #: builtins.c:1957
-#, fuzzy
 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"
@@ -5439,10 +5262,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."
@@ -5462,9 +5283,12 @@ msgstr ""
 "             primjeni „zadano“ ponašanje specifikacija i akcija\n"
 "      -E   primjeni zadano ponašanje specifikacija i akcija i na „prazne“\n"
 "             naredbe, to jest pokuša kompletirati prazni redak\n"
+"      -I   primjeni zadano ponašanje specifikacija i akcija i na početnu\n"
+"             (obično naredbu) riječ\n"
 "\n"
 "    Redoslijed akcija pri pokušaju kompletiranja slijedi gore dȃni poredak\n"
-"    opcija u verzalu. Opcija „-D“ ima veći prioritet od opcije „'E“.\n"
+"    opcija u verzalu. Opcija „-D“ ima veći prioritet od opcije „-E“.\n"
+"    a obje imaju veći prioritet od opcije „-I“\n"
 "\n"
 "    Završi s kȏdom 0 osim ako je dȃna nevaljana opcija\n"
 "    ili se dogodila greška."
@@ -5474,8 +5298,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"
@@ -5491,16 +5314,12 @@ msgstr ""
 "    ili se dogodila greška."
 
 #: builtins.c:2002
-#, fuzzy
 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"
@@ -5533,6 +5352,7 @@ msgstr ""
 "      -o OPCIJA   ovu OPCIJU kompletiranja postavi za svako IME\n"
 "      -D          promijeni opcije za kompletiranje „zadanih“ naredba\n"
 "      -E          promijeni opcije za kompletiranje „praznih“ naredba\n"
+"      -I          promijeni opcije za kompletiranje za početnu riječ\n"
 "\n"
 "    „+“ umjesto „-“ isključi odgovarajuću opciju.\n"
 "\n"
@@ -5549,22 +5369,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"
@@ -5577,19 +5392,16 @@ 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 ""
 "Mapira pročitane retke iz standardnoga ulaza u varijablu tipa polje.\n"
 "\n"
-"    Učitane retke iz standardnoga ulaza mapira u indeksiranu varijablu "
-"POLJE.\n"
+"    Učitane retke iz standardnoga ulaza mapira u indeksiranu varijablu POLJE.\n"
 "    Ako nema argumenta POLJE, koristi se (zadano) varijabla MAPFILE.\n"
 "\n"
 "    Opcije:\n"
@@ -5597,8 +5409,7 @@ msgstr ""
 "      -n BROJ      kopira ne više od BROJ redaka (0 znači sve retke)\n"
 "      -O POČETAK   mapiranje započinje s indeksom POČETAK (zadano 0)\n"
 "      -s BROJ      preskoči (izostavi) prvih BROJ redaka\n"
-"      -t           ukloni zaostalu MEĐU (zadano LF) iz svakog učitanoga "
-"retka\n"
+"      -t           ukloni zaostalu MEĐU (zadano LF) iz svakog učitanoga retka\n"
 "      -u FD        čita retke iz FD (deskriptora datoteke) umjesto iz stdin\n"
 "      -C FUNKCIJA  evaluira FUNKCIJU nakon svako TOLIKO pročitanih redaka\n"
 "      -c TOLIKO    nakon svako TOLIKO pročitanih redaka pozove FUNKCIJU\n"
@@ -5608,8 +5419,7 @@ msgstr ""
 "\n"
 "    Ako je opcija „-C“ dȃna bez opcije „-c“, TOLIKO je 5000 (zadano).\n"
 "    Kȁd FUNKCIJA evaluira — dobiva indeks sljedećeg elementa polja koji se\n"
-"    mapira i redak koji će biti dodijeljen tom elementu — kao dodatne "
-"argumente.\n"
+"    mapira i redak koji će biti dodijeljen tom elementu — kao dodatne argumente.\n"
 "\n"
 "    Ako nije dȃni eksplicitni POČETAK, „mapfile“ počisti polje\n"
 "    prije početka mapiranja.\n"
@@ -5630,12 +5440,8 @@ msgstr ""
 #~ msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
 #~ msgstr "Copyright © 2009 Free Software Foundation, Inc.\n"
 
-#~ msgid ""
-#~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
-#~ "html>\n"
-#~ msgstr ""
-#~ "Licenca GPLv2+: GNU GPL inačica 2 ili novija <http://gnu.org/licenses/gpl."
-#~ "html>\n"
+#~ msgid "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n"
+#~ msgstr "Licenca GPLv2+: GNU GPL inačica 2 ili novija <http://gnu.org/licenses/gpl.html>\n"
 
 #~ msgid ":"
 #~ msgstr ":"
index 6a373cf015b931df9f44ca68f37f81e925c9e5ab..4c69976e57678b8ec2a0967c54e2e0c291a96124 100644 (file)
@@ -8,6 +8,7 @@
 # Mingcong Bai <jeffbai@aosc.xyz>, 2015.
 # liushuyu <liushuyu011@gmail.com>, 2016.
 # Mingye Wang <arthur200126@gmail.com>, 2015, 2016.
+# Boyuan Yang <073plan@gmail.com>, 2018.
 #
 # KNOWN DEFECTS (easy fixes, tedious work; sorted by priority):
 #  0. Translation coverage when upstream sends new strings.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 4.4\n"
+"Project-Id-Version: bash 5.0-beta2\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-11-16 15:54-0500\n"
-"PO-Revision-Date: 2016-12-01 17:25-0500\n"
-"Last-Translator: Mingye Wang (Arthur2e5) <arthur200126@gmail.com>\n"
+"PO-Revision-Date: 2018-12-08 14:10-0500\n"
+"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 1.8.11\n"
+"X-Generator: Poedit 2.2\n"
 
 #: arrayfunc.c:58
 msgid "bad array subscript"
@@ -110,9 +111,9 @@ msgid "brace expansion: cannot allocate memory for %s"
 msgstr "大括号展开:无法为 %s 分配内存"
 
 #: braces.c:429
-#, fuzzy, c-format
+#, c-format
 msgid "brace expansion: failed to allocate memory for %u elements"
-msgstr "大括号展开:为 %d 个元素分配内存失败"
+msgstr "大括号展开:为 %u 个元素分配内存失败"
 
 #: braces.c:474
 #, c-format
@@ -152,7 +153,7 @@ msgstr "%s 未与任何键绑定。\n"
 #: builtins/bind.def:316
 #, c-format
 msgid "%s can be invoked via "
-msgstr "%s 可以被调用,通过"
+msgstr "%s 可以被调用,通过 "
 
 #: builtins/bind.def:353 builtins/bind.def:368
 #, c-format
@@ -175,7 +176,7 @@ msgid ""
 msgstr ""
 "返回当前子例程调用的上下文\n"
 "    \n"
-"    不带 EXPR 时,返回"
+"    不带 EXPR 时,返回 "
 
 #: builtins/cd.def:326
 msgid "HOME not set"
@@ -534,10 +535,8 @@ msgstr[0] "Shell 命令匹配关键字“"
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"没有与“%s”匹配的帮助主题。尝试使用“help help”、“man -k %s”或“info %s”。"
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "没有与“%s”匹配的帮助主题。尝试使用“help help”、“man -k %s”或“info %s”。"
 
 #: builtins/help.def:224
 #, c-format
@@ -712,12 +711,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 ""
 "显示当前记住的目录列表。 目录\n"
@@ -1101,9 +1098,8 @@ msgid "attempted assignment to non-variable"
 msgstr "尝试给非变量赋值"
 
 #: expr.c:530
-#, fuzzy
 msgid "syntax error in variable assignment"
-msgstr "表达式中有语法错误"
+msgstr "变量赋值中有语法错误"
 
 #: expr.c:544 expr.c:910
 msgid "division by 0"
@@ -1242,7 +1238,7 @@ msgstr "未知状态"
 #: jobs.c:1788
 #, c-format
 msgid "(core dumped) "
-msgstr "(核心已转储)"
+msgstr "(核心已转储)"
 
 #: jobs.c:1807
 #, c-format
@@ -1303,9 +1299,8 @@ msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp 失败"
 
 #: jobs.c:4245
-#, fuzzy
 msgid "initialize_job_control: no job control in background"
-msgstr "initialize_job_control: 行规则"
+msgstr "initialize_job_control: 后台无任务控制"
 
 #: jobs.c:4261
 msgid "initialize_job_control: line discipline"
@@ -1475,9 +1470,7 @@ msgstr "make_redirection:重定向指令“%d”越界"
 
 #: parse.y:2369
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
 msgstr "shell_getc:shell_input_line_size (%zu) 超过 SIZE_MAX (%lu):行被截断"
 
 #: parse.y:2775
@@ -1658,7 +1651,7 @@ msgstr "重定向错误: 无法复制文件描述符"
 
 #: shell.c:343
 msgid "could not find /tmp, please create!"
-msgstr "无法找到 /tmp ,请创建"
+msgstr "无法找到 /tmp ,请创建"
 
 #: shell.c:347
 msgid "/tmp must be a valid directory name"
@@ -1666,7 +1659,7 @@ msgstr "/tmp 必须为有效的目录名"
 
 #: shell.c:798
 msgid "pretty-printing mode ignored in interactive shells"
-msgstr ""
+msgstr "在交互式 shell 中将忽略美化输出模式"
 
 #: shell.c:940
 #, c-format
@@ -1952,7 +1945,7 @@ msgstr "无法为进程替换创建子进程"
 #: subst.c:5896
 #, c-format
 msgid "cannot open named pipe %s for reading"
-msgstr "无法打开命名管道 %s 进readline-"
+msgstr "无法打开命名管道 %s 以读取"
 
 #: subst.c:5898
 #, c-format
@@ -1996,9 +1989,9 @@ msgid "%s: invalid variable name"
 msgstr "%s:无效的变量名"
 
 #: subst.c:7031
-#, fuzzy, c-format
+#, c-format
 msgid "%s: parameter not set"
-msgstr "%s:参数为空或未设置"
+msgstr "%s:参数未设置"
 
 #: subst.c:7033
 #, c-format
@@ -2021,9 +2014,7 @@ msgid "$%s: cannot assign in this way"
 msgstr "$%s:无法这样赋值"
 
 #: subst.c:9460
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "未来版本的 shell 会强制估值为算术替换"
 
 #: subst.c:10017
@@ -2073,9 +2064,9 @@ msgid "invalid signal number"
 msgstr "无效的信号数"
 
 #: trap.c:320
-#, fuzzy, c-format
+#, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
-msgstr "eval: 超出最大 eval 嵌套层数 (%d)"
+msgstr "trap handler: 超出最大的 trap handler 层次 (%d)"
 
 #: trap.c:408
 #, c-format
@@ -2084,8 +2075,7 @@ msgstr "run_pending_traps: trap_list[%d] 中的错误值: %p"
 
 #: trap.c:412
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
 msgstr "run_pending_traps: 信号处理器是 SIG_DFL,重新发送 %d (%s) 给自己"
 
 #: trap.c:470
@@ -2165,17 +2155,12 @@ msgstr "%s:%s:兼容版本数值越界"
 
 #  Inc. 的 . 是个缩写
 #: version.c:46 version2.c:46
-#, fuzzy
 msgid "Copyright (C) 2018 Free Software Foundation, Inc."
-msgstr "版权所有 (C) 2016 自由软件基金会"
+msgstr "版权所有 (C) 2018 自由软件基金会"
 
 #: version.c:47 version2.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl."
-"html>\n"
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>\n"
 
 #: version.c:86 version2.c:86
 #, c-format
@@ -2219,12 +2204,8 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] 名称 [名称 ...]"
 
 #: 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 [-lpvsPSVX] [-m 键映射] [-f 文件名] [-q 名称] [-u 名称] [-r 键序列] [-x "
-"键序列:shell-命令] [键序列:readline-函数 或 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 [-lpvsPSVX] [-m 键映射] [-f 文件名] [-q 名称] [-u 名称] [-r 键序列] [-x 键序列:shell-命令] [键序列:readline-函数 或 readline-命令]"
 
 #: builtins.c:56
 msgid "break [n]"
@@ -2319,12 +2300,8 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [模式 ...]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 "
-"[参数...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]"
 
 #: builtins.c:127
 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2335,24 +2312,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [任务声明 ... | pid ...]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明 ... 或 kill -"
-"l [信号声明]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明 ... 或 kill -l [信号声明]"
 
 #: builtins.c:136
 msgid "let arg [arg ...]"
 msgstr "let 参数 [参数 ...]"
 
 #: 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 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] [-N 读取字"
-"符数] [-p 提示符] [-t 超时] [-u 文件描述符] [名称 ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读取字符数] [-N 读取字符数] [-p 提示符] [-t 超时] [-u 文件描述符] [名称 ...]"
 
 #: builtins.c:140
 msgid "return [n]"
@@ -2415,9 +2384,8 @@ msgid "umask [-p] [-S] [mode]"
 msgstr "umask [-p] [-S] [模式]"
 
 #: builtins.c:177
-#, fuzzy
 msgid "wait [-fn] [id ...]"
-msgstr "wait [-n] [编号 ...]"
+msgstr "wait [-fn] [编号 ...]"
 
 #: builtins.c:181
 msgid "wait [pid ...]"
@@ -2444,9 +2412,7 @@ msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case 词 in [模式 [| 模式]...) 命令 ;;]... esac"
 
 #: builtins.c:194
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
 msgstr "if 命令; then 命令; [ elif 命令; then 命令; ]... [ else 命令; ] fi"
 
 #: builtins.c:196
@@ -2506,44 +2472,24 @@ msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v var] 格式 [参数]"
 
 #: builtins.c:231
-#, fuzzy
-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] [-DE] [-o 选项] [-A 动作] [-G 全局模式] [-W 词"
-"语列表]  [-F 函数] [-C 命令] [-X 过滤模式] [-P 前缀] [-S 后缀] [名称 ...]"
+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 选项] [-A 动作] [-G 全局模式] [-W 词语列表]  [-F 函数] [-C 命令] [-X 过滤模式] [-P 前缀] [-S 后缀] [名称 ...]"
 
 #: 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 选项]  [-A 动作] [-G 全局模式] [-W 词语列表]  [-"
-"F 函数] [-C 命令] [-X 过滤模式] [-P 前缀] [-S 后缀] [词语]"
+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 选项]  [-A 动作] [-G 全局模式] [-W 词语列表]  [-F 函数] [-C 命令] [-X 过滤模式] [-P 前缀] [-S 后缀] [词语]"
 
 #: builtins.c:239
-#, fuzzy
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
-msgstr "compopt [-o|+o 选项] [-DE] [名称 ...]"
+msgstr "compopt [-o|+o 选项] [-DEI] [名称 ...]"
 
 #: builtins.c:242
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d 分隔符] [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] "
-"[-c 量子] [数组]"
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d 分隔符] [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] [-c 量子] [数组]"
 
 #: builtins.c:244
-#, fuzzy
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] [-c 量子] "
-"[数组]"
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-d 定界符] [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] [-c 量子] [数组]"
 
 #: builtins.c:256
 msgid ""
@@ -2560,8 +2506,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 ""
 "定义或显示别名。\n"
@@ -2607,30 +2552,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"
@@ -2645,15 +2585,13 @@ msgstr ""
 "    \n"
 "    选项:\n"
 "      -m  键映射      在此命令执行过程中使用指定的键映射。\n"
-"                     可被接受的键映射名字有 emacs、emacs-standard、emacs-"
-"meta、\n"
+"                     可被接受的键映射名字有 emacs、emacs-standard、emacs-meta、\n"
 "                     emacs-ctlx、vi、vi-move、vi-command、和 vi-insert。\n"
 "      -l             列出函数名称。\n"
 "      -P             列出函数名称和绑定。\n"
 "      -p             以可以重新用作输入的格式列出函数名称和绑定。\n"
 "      -S             列出可以启动宏的键序列以及它们的值\n"
-"      -s             以可以重新用作输入的格式列出可以启动宏的键以及它们的"
-"值。\n"
+"      -s             以可以重新用作输入的格式列出可以启动宏的键以及它们的值。\n"
 "      -V             列出变量名成和它们的值\n"
 "      -v             以可以重新用作输入的格式列出变量的名称和它们的值\n"
 "      -q  函数名      查询指定的函数可以由哪些键启动。\n"
@@ -2703,14 +2641,12 @@ msgstr ""
 "    退出状态为 0 除非 N 不大于或等于1。"
 
 #: builtins.c:354
-#, fuzzy
 msgid ""
 "Execute shell builtins.\n"
 "    \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"
@@ -2723,9 +2659,8 @@ msgstr ""
 "    并且希望在函数之内执行该 shell 内建的情况下有用处。\n"
 "    \n"
 "    退出状态:\n"
-"    以 SHELL-BUILTIN 内建的退出状态为准,或者如果 SHELL-BUILTIN不是一个 "
-"shell 内建时\n"
-"    为假。."
+"    以 SHELL-BUILTIN 内建的退出状态为准,或者如果 SHELL-BUILTIN 不是一个\n"
+"    shell 内建时为假。"
 
 #: builtins.c:369
 msgid ""
@@ -2759,22 +2694,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"
@@ -2790,13 +2719,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 ""
 "改变 shell 工作目录。\n"
@@ -2804,24 +2731,18 @@ msgstr ""
 "    改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME\n"
 "    的值。\n"
 "    \n"
-"    变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)"
-"分隔。\n"
-"    一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 "
-"CDPATH\n"
+"    变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。\n"
+"    一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH\n"
 "    不会用上变量。\n"
 "    \n"
-"    如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一"
-"个\n"
+"    如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个\n"
 "    变量名。如果该变量有值,则它的值被当作 DIR 目录。\n"
 "    \n"
 "    选项:\n"
 "        -L\t强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。\n"
-"        -P\t使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符"
-"号链接。\n"
-"        -e\t如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回"
-"值。\n"
-"        -@\t在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目"
-"录。\n"
+"        -P\t使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。\n"
+"        -e\t如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。\n"
+"        -@\t在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。\n"
 "    \n"
 "    默认情况下跟随符号链接,如同指定 `-L'。\n"
 "    `..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。\n"
@@ -2881,7 +2802,7 @@ msgstr ""
 "返回一个成功结果。\n"
 "    \n"
 "    退出状态:\n"
-"    总是成功"
+"    总是成功"
 
 #: builtins.c:462
 msgid ""
@@ -2900,8 +2821,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"
@@ -2928,7 +2848,6 @@ msgstr ""
 "    返回 COMMAND 命令的返回状态,或者当找不到 COMMAND 命令时失败。"
 
 #: builtins.c:490
-#, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -2959,8 +2878,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"
@@ -2969,12 +2887,12 @@ msgid ""
 msgstr ""
 "设定变量值和属性。\n"
 "    \n"
-"    声明变量并且赋予它们属性。如果没给定名称,\n"
+"    声明变量并且赋予它们属性。如果没给定名称,\n"
 "    则显示所有变量的属性和值。\n"
 "    \n"
 "    选项:\n"
-"      -f\t限制动作或显示为函数名称和定义\n"
-"      -F\té\99\90å\88¶ä»\85æ\98¾ç¤ºå\87½æ\95°å\90\8dç§° (以å\8f\8aè¡\8cå\8f·å\92\8cæº\90æ\96\87ä»¶å\90\8dï¼\8cå½\93è°\83è¯\95æ\97)\n"
+"      -f\t限制动作或显示为函数名称和定义\n"
+"      -F\té\99\90å\88¶ä»\85æ\98¾ç¤ºå\87½æ\95°å\90\8dç§° (以å\8f\8aè°\83è¯\95æ\97¶æ\98¾ç¤ºè¡\8cå\8f·å\92\8cæº\90æ\96\87ä»¶å\90\8d)\n"
 "      -g\t当用于 shell 函数内时创建全局变量; 否则忽略\n"
 "      -p\t显示每个 NAME 变量的属性和值\n"
 "    \n"
@@ -2986,7 +2904,7 @@ msgstr ""
 "      -n\t使 NAME 成为指向一个以其值为名称的变量的引用\n"
 "      -r\t将 NAME 变为只读\n"
 "      -t\t使 NAME 带有 `trace' (追踪)属性\n"
-"      -u\t将 NAME 在赋值时转为大写\n"
+"      -u\t将每个 NAME 在赋值时转为大写\n"
 "      -x\t将 NAME 导出\n"
 "    \n"
 "    用 `+' 代替 `-' 会关闭指定选项。\n"
@@ -2998,7 +2916,7 @@ msgstr ""
 "    命令一致。`-g' 选项抑制此行为。\n"
 "    \n"
 "    退出状态:\n"
-"    返回成功除非使用了无效选项或者发生错误。"
+"    返回成功,除非提供了无效选项或者发生变量赋值错误。"
 
 #: builtins.c:530
 msgid ""
@@ -3033,15 +2951,13 @@ msgstr ""
 "    部以及子函数中可见。\n"
 "    \n"
 "    退出状态:\n"
-"    返回成功,除非使用了无效的选项、发生了赋值错误或者 shell 不在执行一个函"
-"数。"
+"    返回成功,除非使用了无效的选项、发生了赋值错误或者 shell 不在执行一个函数。"
 
 #: builtins.c:555
 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"
@@ -3089,8 +3005,7 @@ msgstr ""
 "      \\t\t横向制表符\n"
 "      \\v\t纵向制表符\n"
 "      \\\\\t反斜杠\n"
-"      \\0nnn\t以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是 0 到 3 个八进制"
-"位\n"
+"      \\0nnn\t以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是 0 到 3 个八进制位\n"
 "      \\xHH\t以 HH (十六进制)为值的八按位字符。HH可以是一个或两个十六进制位\n"
 "    \n"
 "    退出状态:\n"
@@ -3172,8 +3087,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"
@@ -3270,8 +3184,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"
@@ -3279,13 +3192,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 ""
 "使用指定命令替换 shell。\n"
 "    \n"
@@ -3320,8 +3231,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 ""
 "退出一个登录 shell.\n"
@@ -3333,15 +3243,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"
@@ -3355,8 +3263,7 @@ 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 ""
 "从历史列表中显示或者执行命令。\n"
 "    \n"
@@ -3406,10 +3313,8 @@ msgstr ""
 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"
@@ -3429,8 +3334,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"
@@ -3461,15 +3365,13 @@ msgstr ""
 "    \t\tNAME 名称,则每个位置前面会加上相应的 NAME 名称\n"
 "    \t\t\n"
 "    参数:\n"
-"      NAME\t\t每个 NAME 名称会在 $PATH 路径变量中被搜索,并且添加到记住的命"
-"令\n"
+"      NAME\t\t每个 NAME 名称会在 $PATH 路径变量中被搜索,并且添加到记住的命令\n"
 "    列表中。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非 NAME 命令没有找到或者使用了无效的选项。"
 
 #: builtins.c:812
-#, fuzzy
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3487,8 +3389,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 ""
 "显示内建命令的相关信息。\n"
 "    \n"
@@ -3503,13 +3404,12 @@ msgstr ""
 "    \t简介\n"
 "    \n"
 "    参数:\n"
-"      PATTERN\tPattern 模式指定一个帮助主题\n"
+"      PATTERN\t指定帮助主题的模式\n"
 "    \n"
 "    退出状态:\n"
-"    返回成功,除非 PATTERN 模式没有找到或者使用了无效选项。"
+"    返回成功,除非未找到 PATTERN 模式没有找到或者使用了无效选项。"
 
 #: builtins.c:836
-#, fuzzy
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3537,8 +3437,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."
@@ -3550,13 +3449,14 @@ msgstr ""
 "    \n"
 "    选项:\n"
 "      -c\t删除所有条目从而清空历史列表。\n"
-"      -d 偏移量\t从指定位置删除历史列表。\n"
+"      -d 偏移量\t从指定位置删除历史列表。负偏移量将从历史条目末尾\n"
+"    \t\t开始计数\n"
 "    \n"
 "      -a\t将当前会话的历史行追加到历史文件中\n"
 "      -n\t从历史文件中读取所有未被读取的行\n"
-"    \t\t并且将它们加入到历史列表\n"
+"    \t\t并且将它们附加到历史列表\n"
 "      -r\t读取历史文件并将内容追加到历史列表中\n"
-"      -w\t将当前历史写入到历史文件中,并追加到历史列表中\n"
+"      -w\t将当前历史写入到历史文件中\n"
 "    \n"
 "      -p\t对每一个 ARG 参数展开历史并显示结果,而不存储到历史列表中\n"
 "      -s\t以单条记录追加 ARG 到历史列表中\n"
@@ -3565,8 +3465,8 @@ msgstr ""
 "    如果 $HISTFILE 变量有值的话使用之,不然使用 ~/.bash_history 文件。\n"
 "    \n"
 "    如果 $HISTTIMEFORMAT 变量被设定并且不为空,它的值会被用于\n"
-"    strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的\n"
-"    间戳,否则不打印时间戳。\n"
+"    strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的\n"
+"    间戳,否则不打印时间戳。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者发生错误。"
@@ -3690,8 +3590,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"
@@ -3759,28 +3658,23 @@ msgstr ""
 "    Shell 变量允许作为操作数。表达式中的变量的名称会被取代以值\n"
 "    (强制转换为定宽的整数)。表达式中的变量不需要打开整数属性。\n"
 "    \n"
-"    操作符按照优先级进行估值。括号中的子表达式将被先估值,并可取代上述表达式"
-"规则。\n"
+"    操作符按照优先级进行估值。括号中的子表达式将被先估值,并可取代上述表达式规则。\n"
 "    \n"
 "    退出状态:\n"
 "    如果最后一个 ARG 参数估值为 0,则 let 返回 1; 否则 let 返回 0。"
 
 #: builtins.c:988
-#, 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"
+"    the last NAME.  Only the characters found in $IFS are recognized as word\n"
 "    delimiters.\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"
@@ -3792,8 +3686,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"
@@ -3811,49 +3704,42 @@ 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 ""
 "从标准输入读取一行并将其分为不同的域。\n"
 "    \n"
-"    从标准输入读取单独的一行,或者如果使用了 -u 选项,从文件描述符 FD 中读"
-"取。\n"
-"    该行被分割成域,如同词语分割一样,并且第一个词被赋值给第一个 NAME 变量,"
-"第二\n"
-"    个词被赋值给第二个 NAME 变量,如此继续,直到剩下所有的词被赋值给最后一个 "
-"NAME\n"
+"    从标准输入读取单独的一行,或者如果使用了 -u 选项,从文件描述符 FD 中读取。\n"
+"    该行被分割成域,如同词语分割一样,并且第一个词被赋值给第一个 NAME 变量,第二\n"
+"    个词被赋值给第二个 NAME 变量,如此继续,直到剩下所有的词被赋值给最后一个 NAME\n"
 "    变量。只有 $IFS 变量中的字符被认作是词语分隔符。\n"
 "    \n"
 "    如果没有提供 NAME 变量,则读取的行被存放在 REPLY 变量中。\n"
 "    \n"
 "    选项:\n"
-"      -a array\t将词语赋值给 ARRAY 数组变量的序列下标成员,从零开始\n"
+"      -a array\t将词语赋值给 ARRAY 数组变量的序列下标成员,从零开始\n"
 "      -d delim\t持续读取直到读入 DELIM 变量中的第一个字符,而不是换行符\n"
-"      -e\t在一个交互式 shell 中使用 Readline 获取行\n"
+"      -e\t使用 Readline 获取行\n"
 "      -i text\t使用 TEXT 文本作为 Readline 的初始文字\n"
 "      -n nchars\t读取 nchars 个字符之后返回,而不是等到读取换行符。\n"
 "    \t\t但是分隔符仍然有效,如果遇到分隔符之前读取了不足 nchars 个字符。\n"
-"      -N nchars\t在准确读取了 nchars 个字符之后返回,除非遇到文件结束符或者读"
-"超时,\n"
+"      -N nchars\t在准确读取了 nchars 个字符之后返回,除非遇到文件结束符或者读超时,\n"
 "    \t\t任何的分隔符都被忽略\n"
 "      -p prompt\t在尝试读取之前输出 PROMPT 提示符并且不带\n"
 "    \t\t换行符\n"
 "      -r\t不允许反斜杠转义任何字符\n"
-"      -s\t不显示终端的任何输入\n"
-"      -t timeout\t如果在 TIMEOUT 秒内没有读取一个完整的行则超时并且返回失"
-"败。\n"
-"    \t\tTMOUT 变量的值是默认的超时时间。\n"
-"    \t\tTIMEOUT 可以是小数。如果 TIMEOUT 是 0,那么仅当在指定的文件描述符上\n"
-"    \t\t输入有效的时候,read 才返回成功。\n"
+"      -s\t不回显终端的任何输入\n"
+"      -t timeout\t如果在 TIMEOUT 秒内没有读取一个完整的行则超时并且返回失败。\n"
+"    \t\tTMOUT 变量的值是默认的超时时间。TIMEOUT 可以是小数。\n"
+"    \t\t如果 TIMEOUT 是 0,那么仅当在指定的文件描述符上输入有效的时候,\n"
+"    \t\tread 才返回成功;否则它将立刻返回而不尝试读取任何数据。\n"
 "    \t\t如果超过了超时时间,则返回状态码大于 128\n"
 "      -u fd\t从文件描述符 FD 中读取,而不是标准输入\n"
 "    \n"
 "    退出状态:\n"
-"    返回码为零,除非遇到了文件结束符,读超时,或者无效的文\n"
-"    件描述符作为参数传递给了 -u 选项。"
+"    返回码为零,除非遇到了文件结束符、读超时(且返回码不大于128)、\n"
+"    出现了变量赋值错误或者无效的文件描述符作为参数传递给了 -u 选项。"
 
 #: builtins.c:1035
 msgid ""
@@ -3918,8 +3804,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"
@@ -3943,8 +3828,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"
@@ -3999,8 +3883,7 @@ msgstr ""
 "              nounset      与 -u 相同\n"
 "              onecmd       与 -t 相同\n"
 "              physical     与 -P 相同\n"
-"              pipefail     管道的返回值是最后一个非零返回值的命令的返回结"
-"果,\n"
+"              pipefail     管道的返回值是最后一个非零返回值的命令的返回结果,\n"
 "                           或者当所有命令都返回零是也为零。\n"
 "              posix        改变默认时和 Posix 标准不同的 bash 行为\n"
 "                           以匹配标准\n"
@@ -4051,8 +3934,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"
@@ -4069,8 +3951,7 @@ msgstr ""
 "      -v\t将每个 NAME 视为变量\n"
 "      -n\t将每个 NAME 视为名称引用,只取消其本身而非其指向的变量\n"
 "    \n"
-"    不带选项时,unset 首先尝试取消设定一个变量,如果失败,再尝试取消设定一个"
-"函数。\n"
+"    不带选项时,unset 首先尝试取消设定一个变量,如果失败,再尝试取消设定一个函数。\n"
 "    \n"
 "    某些变量不可以被取消设定;参见 `readonly'。\n"
 "    \n"
@@ -4082,8 +3963,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"
@@ -4244,8 +4124,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"
@@ -4266,8 +4145,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"
@@ -4380,8 +4258,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"
@@ -4401,8 +4278,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"
@@ -4411,34 +4287,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 ""
 "对信号和其他事件设陷阱。\n"
 "    \n"
@@ -4447,8 +4315,7 @@ msgstr ""
 "    ARG 参数是当 shell 接收到 SIGNAL_SPEC 信号时读取和执行的命令。\n"
 "    如果没有指定 ARG 参数 (并且只给出一个 SIGNAL_SPEC 信号) 或者\n"
 " ARG 参数为\n"
-"    `-',每一个指定的参数会被重置为原始值。如果 ARG 参数是一个空串,则每一"
-"个\n"
+"    `-',每一个指定的参数会被重置为原始值。如果 ARG 参数是一个空串,则每一个\n"
 "    SIGNAL_SPEC 信号会被 shell 和它启动的命令忽略。\n"
 "    \n"
 "    如果一个 SIGNAL_SPEC 信号是 EXIT (0) ,则 ARG 命令会在 shell 退出时被\n"
@@ -4494,8 +4361,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 ""
 "显示命令类型的信息。\n"
 "    \n"
@@ -4524,8 +4390,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"
@@ -4643,12 +4508,10 @@ msgstr ""
 "    返回成功,除非使用了无效的 MODE 模式或者选项。"
 
 #: builtins.c:1495
-#, fuzzy
 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"
@@ -4666,13 +4529,15 @@ msgid ""
 msgstr ""
 "等待任务完成并返回退出状态。\n"
 "    \n"
-"    等待以 ID 编号识别的进程,其中ID 可以是进程编号或者任务声明,\n"
+"    等待以 ID 编号识别的进程,其中 ID 可以是进程编号或者任务声明,\n"
 "    并报告它的终止状态。如果 ID 没有给出,则等待所有的当前活跃子\n"
 "    进程,并且返回状态为零。如果 ID 是任务声明,等待任务管道中的\n"
 "    所有进程。\n"
 "    \n"
 "    若给定了 -n 选项,等待下一个任务完成并返回其状态。\n"
 "    \n"
+"    若给定了 -f 选项,且已启用了任务控制,则等待指定的 ID 终止\n"
+"    而非等待它改变状态。\n"
 "    退出状态:\n"
 "    返回最后一个 ID 进程的状态;如果使用了无效的 ID 或者选项则失败。"
 
@@ -4680,14 +4545,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 ""
 "等待进程完成并且返回退出状态。\n"
@@ -4832,17 +4695,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"
@@ -4922,8 +4780,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"
@@ -5004,12 +4861,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"
@@ -5035,8 +4889,7 @@ msgstr ""
 "      ( EXPRESSION )\t返回 EXPRESSION 表达式的值\n"
 "      ! EXPRESSION\t\t如果 EXPRESSION表达式为假则为真,否则为假\n"
 "      EXPR1 && EXPR2\t如果 EXPR1 和 EXPR2 表达式均为真则为真,否则为假\n"
-"      EXPR1 || EXPR2\t如果 EXPR1 和 EXPR2 表达式中有一个为真则为真,否则为"
-"假\n"
+"      EXPR1 || EXPR2\t如果 EXPR1 和 EXPR2 表达式中有一个为真则为真,否则为假\n"
 "    \n"
 "    当使用 `==' 和 `!=' 操作符时,操作符右边的字符串被用作模式并且执行一个\n"
 "    匹配。当使用 `=~' 操作符时,操作符右边的字符串被当作正则表达式来进行\n"
@@ -5293,7 +5146,6 @@ msgstr ""
 "    返回成功,除非使用了无效的选项或者发生错误。"
 
 #: builtins.c:1902
-#, fuzzy
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5314,9 +5166,9 @@ msgid ""
 msgstr ""
 "设定和取消设定 shell 选项。\n"
 "    \n"
-"    改变每个 shell 选项 OPTNAME的设定。不带参数\n"
-"    时,列出所有 shell 选项并标注每一个选项是否被\n"
-"    设定。\n"
+"    改变每个 shell 选项 OPTNAME 的设定。不带参数时,\n"
+"    列出每个提供的 OPTNAME,否则列出所有 shell 选项;\n"
+"    同时标注每一个选项是否被设定。\n"
 "    \n"
 "    选项:\n"
 "      -o\t限制 OPTNAME 为定义用于`set -o' 的选项\n"
@@ -5327,7 +5179,7 @@ msgstr ""
 "    \n"
 "    退出状态:\n"
 "    如果 OPTNAME 选项被启用则返回成功;如果是\n"
-"    无效的选项或OPTNAME 被禁用则失败。"
+"    无效的选项或 OPTNAME 被禁用则失败。"
 
 #: builtins.c:1923
 msgid ""
@@ -5337,34 +5189,27 @@ 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"
-"      %(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 ""
 "在 FORMAT 的控制下格式化并打印 ARGUMENTS 参数。\n"
@@ -5373,8 +5218,7 @@ msgstr ""
 "      -v var\t将输出赋值给 shell 变量 VAR 而不显示在标准输出上\n"
 "    \n"
 "    FORMAT 是包含三种对象的字符串:简单地被拷贝到标准输出的普通字符;\n"
-"    被变换之后拷贝到标准输入的转义字符;以及每个都会影响到下个参数的打印的格"
-"式化声明。\n"
+"    被变换之后拷贝到标准输入的转义字符;以及每个都会影响到下个参数的打印的格式化声明。\n"
 "    \n"
 "    在 printf(1) 中描述的标准控制声明之外,printf 解析:\n"
 "    \n"
@@ -5386,14 +5230,11 @@ msgstr ""
 "    返回成功,除非使用了无效的选项或者写或赋值错误发生。"
 
 #: builtins.c:1957
-#, fuzzy
 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"
@@ -5408,17 +5249,15 @@ 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."
 msgstr ""
-"声明 readline 如何完成读取参数。\n"
+"指定 Readline 如何补全参数。\n"
 "    \n"
-"    声明对于每一个 NAME 名称如何完成读取参数。如果不带选项,\n"
+"    声明对于每一个 NAME 名称如何补全参数。如果不带选项,\n"
 "    现有的补全声明会以可以重用为输入的格式打印出来。\n"
 "    \n"
 "    选项:\n"
@@ -5427,9 +5266,11 @@ msgstr ""
 "    \t名称,删除所有的补全声明。\n"
 "      -D\t对于没有补全声明定义的命令,设定默认的补全动作\n"
 "      -E\t对于 \"empty\" 命令设定补全动作,—— 对于空行的补全。\n"
+"      -I\t将补全和动作应用在首单词(通常是所给命令)上\n"
 "    \n"
-"    尝试补全时,按照上述大写字母选项的顺序进行动作。-D 选项优先\n"
-"    级高于 -E 选项。\n"
+"    尝试补全时,按照上述大写字母选项的顺序进行动作。\n"
+"    如果给出了多个选项,-D 选项优先级高于 -E 选项,且\n"
+"    这两个选项优先级均高于 -I。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者错误发生。"
@@ -5439,8 +5280,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"
@@ -5456,16 +5296,12 @@ msgstr ""
 "    除非使用了无效选项或者错误发生,否则返回成功。"
 
 #: builtins.c:2002
-#, fuzzy
 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"
@@ -5489,14 +5325,14 @@ msgid ""
 msgstr ""
 "修改或显示补全选项。\n"
 "    \n"
-"    修改每个 NAME 名称的补全选项,或如果没有提供 NAME 名称,执行当前的补"
-"全。\n"
+"    修改每个 NAME 名称的补全选项,或如果没有提供 NAME 名称,执行当前的补全。\n"
 "    如果不带选项,打印每个 NAME 名称的补全选项或当前的补全声明。\n"
 "    \n"
 "    选项:\n"
 "    \t-o option\t为每个 NAME 名称设定补全选项 option\n"
 "    \t-D\t\t为 \"default\" 命令补全改变选项\n"
 "    \t-E\t\t为 \"empty\" 命令补全改变选项\n"
+"    \t-I\t\t为首单词的补全改变选项\n"
 "    \n"
 "    使用 `+o' 而不是 `-o' 可以关闭指定的选项。\n"
 "    \n"
@@ -5513,22 +5349,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"
@@ -5541,13 +5372,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 ""
 "从标准输入读取行到下标数组变量中。\n"
@@ -5595,12 +5424,8 @@ msgstr ""
 #~ msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
 #~ msgstr "版权所有 (C) 2009 自由软件基金会\n"
 
-#~ msgid ""
-#~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
-#~ "html>\n"
-#~ msgstr ""
-#~ "许可证 GPLv2+: GNU GPL 许可证第二版或者更新版本 <http://gnu.org/licenses/"
-#~ "gpl.html>\n"
+#~ msgid "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n"
+#~ msgstr "许可证 GPLv2+: GNU GPL 许可证第二版或者更新版本 <http://gnu.org/licenses/gpl.html>\n"
 
 #~ msgid ""
 #~ ".  With EXPR, returns\n"
@@ -5613,8 +5438,7 @@ msgstr ""
 #~ "; this extra information can be used to\n"
 #~ "    provide a stack trace.\n"
 #~ "    \n"
-#~ "    The value of EXPR indicates how many call frames to go back before "
-#~ "the\n"
+#~ "    The value of EXPR indicates how many call frames to go back before the\n"
 #~ "    current one; the top frame is frame 0."
 #~ msgstr ""
 #~ "; 这个额外信息可被用于\n"
index 405f3daedc9c9e3295dc62f273248b2193646d4f..9aa6557dd6810cae5219dcf48e971f1264207d48 100644 (file)
@@ -38,6 +38,8 @@
 #include "bashansi.h"
 #include "bashintl.h"
 
+#define NEED_XTRACE_SET_DECL
+
 #include "shell.h"
 #include "flags.h"
 #include <y.tab.h>     /* use <...> so we pick it up from the build directory */
diff --git a/redir.c b/redir.c
index 1fd4d269a3b2f40a4050078c16626a76c00f875b..0c0c9f2ba965be9b2285496ee7842e9a11242e3f 100644 (file)
--- a/redir.c
+++ b/redir.c
@@ -778,6 +778,8 @@ do_redirection_internal (redirect, flags)
            case r_move_output_word:
              new_redirect = make_redirection (sd, r_move_output, rd, 0);
              break;
+           default:
+             break;    /* shut up gcc */
            }
        }
       else if (ri == r_duplicating_output_word && (redirect->rflags & REDIR_VARASSIGN) == 0 && redirector == 1)
@@ -1175,6 +1177,8 @@ do_redirection_internal (redirect, flags)
 
     case r_duplicating_input_word:
     case r_duplicating_output_word:
+    case r_move_input_word:
+    case r_move_output_word:
       break;
     }
   return (0);
@@ -1334,6 +1338,10 @@ stdin_redirection (ri, redirector)
     case r_append_err_and_out:
     case r_output_force:
     case r_duplicating_output_word:
+    case r_move_input:
+    case r_move_output:
+    case r_move_input_word:
+    case r_move_output_word:
       return (0);
     }
   return (0);
diff --git a/shell.c b/shell.c
index 3b60ba7d584da0b05dd54a1fc076f824b4132153..a2b2a55e0c5441242fcad7e505e56aa5a5efbe4d 100644 (file)
--- a/shell.c
+++ b/shell.c
@@ -363,7 +363,7 @@ main (argc, argv, env)
 #endif /* !NO_MAIN_ENV_ARG */
 {
   register int i;
-  int code, old_errexit_flag, old_onecmd;
+  int code, old_errexit_flag;
 #if defined (RESTRICTED_SHELL)
   int saverst;
 #endif
diff --git a/trap.c b/trap.c
index 4f4ad8b5615412929fe95b35b2b2de7dc391fe24..3cb67cdf04024fab640de98189478085e338f5b9 100644 (file)
--- a/trap.c
+++ b/trap.c
@@ -1091,7 +1091,9 @@ run_debug_trap ()
 {
   int trap_exit_value, old_verbose;
   pid_t save_pgrp;
+#if defined (PGRP_PIPE)
   int save_pipe[2];
+#endif
 
   /* XXX - question:  should the DEBUG trap inherit the RETURN trap? */
   trap_exit_value = 0;