⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alias.def

📁 android-w.song.android.widget
💻 DEF
字号:
This file is alias.def, from which is created alias.cIt implements the builtins "alias" and "unalias" in Bash.Copyright (C) 1987-2009 Free Software Foundation, Inc.This file is part of GNU Bash, the Bourne Again SHell.Bash is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.Bash is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with Bash.  If not, see <http://www.gnu.org/licenses/>.$BUILTIN alias$FUNCTION alias_builtin$DEPENDS_ON ALIAS$PRODUCES alias.c$SHORT_DOC alias [-p] [name[=value] ... ]Define or display aliases.Without arguments, `alias' prints the list of aliases in the reusableform `alias NAME=VALUE' on standard output.Otherwise, an alias is defined for each NAME whose VALUE is given.A trailing space in VALUE causes the next word to be checked foralias substitution when the alias is expanded.Options:  -p	Print all defined aliases in a reusable formatExit Status:alias returns true unless a NAME is supplied for which no alias has beendefined.$END#include <config.h>#if defined (ALIAS)#if defined (HAVE_UNISTD_H)#  ifdef _MINIX#    include <sys/types.h>#  endif#  include <unistd.h>#endif#  include "../bashansi.h"#  include "../bashintl.h"#  include <stdio.h>#  include "../shell.h"#  include "../alias.h"#  include "common.h"#  include "bashgetopt.h"/* Flags for print_alias */#define AL_REUSABLE	0x01static void print_alias __P((alias_t *, int));extern int posixly_correct;/* Hack the alias command in a Korn shell way. */intalias_builtin (list)     WORD_LIST *list;{  int any_failed, offset, pflag, dflags;  alias_t **alias_list, *t;  char *name, *value;  dflags = posixly_correct ? 0 : AL_REUSABLE;  pflag = 0;  reset_internal_getopt ();  while ((offset = internal_getopt (list, "p")) != -1)    {      switch (offset)	{	case 'p':	  pflag = 1;	  dflags |= AL_REUSABLE;	  break;	default:	  builtin_usage ();	  return (EX_USAGE);	}    }  list = loptend;  if (list == 0 || pflag)    {      if (aliases == 0)	return (EXECUTION_SUCCESS);      alias_list = all_aliases ();      if (alias_list == 0)	return (EXECUTION_SUCCESS);      for (offset = 0; alias_list[offset]; offset++)	print_alias (alias_list[offset], dflags);      free (alias_list);	/* XXX - Do not free the strings. */      if (list == 0)	return (sh_chkwrite (EXECUTION_SUCCESS));    }  any_failed = 0;  while (list)    {      name = list->word->word;      for (offset = 0; name[offset] && name[offset] != '='; offset++)	;      if (offset && name[offset] == '=')	{	  name[offset] = '\0';	  value = name + offset + 1;	  if (legal_alias_name (name, 0) == 0)	    {	      builtin_error (_("`%s': invalid alias name"), name);	      any_failed++;	    }	  else	    add_alias (name, value);	}      else	{	  t = find_alias (name);	  if (t)	    print_alias (t, dflags);	  else	    {	      sh_notfound (name);	      any_failed++;	    }	}      list = list->next;    }  return (any_failed ? EXECUTION_FAILURE : EXECUTION_SUCCESS);}#endif /* ALIAS */$BUILTIN unalias$FUNCTION unalias_builtin$DEPENDS_ON ALIAS$SHORT_DOC unalias [-a] name [name ...]Remove each NAME from the list of defined aliases.Options:  -a	remove all alias definitions.Return success unless a NAME is not an existing alias.$END#if defined (ALIAS)/* Remove aliases named in LIST from the aliases database. */intunalias_builtin (list)     register WORD_LIST *list;{  register alias_t *alias;  int opt, aflag;  aflag = 0;  reset_internal_getopt ();  while ((opt = internal_getopt (list, "a")) != -1)    {      switch (opt)	{	case 'a':	  aflag = 1;	  break;	default:	  builtin_usage ();	  return (EX_USAGE);	}    }  list = loptend;  if (aflag)    {      delete_all_aliases ();      return (EXECUTION_SUCCESS);    }  if (list == 0)    {      builtin_usage ();      return (EX_USAGE);    }  aflag = 0;  while (list)    {      alias = find_alias (list->word->word);      if (alias)	remove_alias (alias->name);      else	{	  sh_notfound (list->word->word);	  aflag++;	}      list = list->next;    }  return (aflag ? EXECUTION_FAILURE : EXECUTION_SUCCESS);}/* Output ALIAS in such a way as to allow it to be read back in. */static voidprint_alias (alias, flags)     alias_t *alias;     int flags;{  char *value;  value = sh_single_quote (alias->value);  if (flags & AL_REUSABLE)    printf ("alias ");  printf ("%s=%s\n", alias->name, value);  free (value);  fflush (stdout);}#endif /* ALIAS */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -