亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fc.def

?? android-w.song.android.widget
?? DEF
?? 第 1 頁 / 共 2 頁
字號(hào):
This file is fc.def, from which is created fc.c.It implements the builtin "fc" in Bash.Copyright (C) 1987-2010 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/>.$PRODUCES fc.c$BUILTIN fc$FUNCTION fc_builtin$DEPENDS_ON HISTORY$SHORT_DOC fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]Display or execute commands from the history list.fc is used to list or edit and re-execute commands from the history list.FIRST and LAST can be numbers specifying the range, or FIRST can be astring, which means the most recent command beginning with thatstring.Options:  -e ENAME	select which editor to use.  Default is FCEDIT, then EDITOR,		then vi  -l 	list lines instead of editing  -n	omit line numbers when listing  -r	reverse the order of the lines (newest listed first)With the `fc -s [pat=rep ...] [command]' format, COMMAND isre-executed after the substitution OLD=NEW is performed.A useful alias to use with this is r='fc -s', so that typing `r cc'runs the last command beginning with `cc' and typing `r' re-executesthe last command.Exit Status:Returns success or status of executed command; non-zero if an error occurs.$END#include <config.h>#if defined (HISTORY)#ifndef _MINIX#  include <sys/param.h>#endif#include "../bashtypes.h"#include "posixstat.h"#if ! defined(_MINIX) && defined (HAVE_SYS_FILE_H)#  include <sys/file.h>#endif#if defined (HAVE_UNISTD_H)#  include <unistd.h>#endif#include <stdio.h>#include <chartypes.h>#include "../bashansi.h"#include "../bashintl.h"#include <errno.h>#include "../shell.h"#include "../builtins.h"#include "../flags.h"#include "../bashhist.h"#include "maxpath.h"#include <readline/history.h>#include "bashgetopt.h"#include "common.h"#if !defined (errno)extern int errno;#endif /* !errno */extern int current_command_line_count, saved_command_line_count;extern int literal_history;extern int posixly_correct;extern int subshell_environment, interactive_shell;extern int unlink __P((const char *));extern FILE *sh_mktmpfp __P((char *, int, char **));/* **************************************************************** *//*								    *//*	The K*rn shell style fc command (Fix Command)		    *//*								    *//* **************************************************************** *//* fc builtin command (fix command) for Bash for those who   like K*rn-style history better than csh-style.     fc [-e ename] [-nlr] [first] [last]   FIRST and LAST can be numbers specifying the range, or FIRST can be   a string, which means the most recent command beginning with that   string.   -e ENAME selects which editor to use.  Default is FCEDIT, then EDITOR,      then the editor which corresponds to the current readline editing      mode, then vi.   -l means list lines instead of editing.   -n means no line numbers listed.   -r means reverse the order of the lines (making it newest listed first).     fc -e - [pat=rep ...] [command]     fc -s [pat=rep ...] [command]   Equivalent to !command:sg/pat/rep execpt there can be multiple PAT=REP's.*//* Data structure describing a list of global replacements to perform. */typedef struct repl {  struct repl *next;  char *pat;  char *rep;} REPL;/* Accessors for HIST_ENTRY lists that are called HLIST. */#define histline(i) (hlist[(i)]->line)#define histdata(i) (hlist[(i)]->data)#define FREE_RLIST() \	do { \		for (rl = rlist; rl; ) { \			REPL *r;	\			r = rl->next; \			if (rl->pat) \				free (rl->pat); \			if (rl->rep) \				free (rl->rep); \			free (rl); \			rl = r; \		} \	} while (0)static char *fc_dosubs __P((char *, REPL *));static char *fc_gethist __P((char *, HIST_ENTRY **));static int fc_gethnum __P((char *, HIST_ENTRY **));static int fc_number __P((WORD_LIST *));static void fc_replhist __P((char *));#ifdef INCLUDE_UNUSEDstatic char *fc_readline __P((FILE *));static void fc_addhist __P((char *));#endif/* String to execute on a file that we want to edit. */#define FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-vi}}"#if defined (STRICT_POSIX)#  define POSIX_FC_EDIT_COMMAND "${FCEDIT:-ed}"#else#  define POSIX_FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-ed}}"#endifintfc_builtin (list)     WORD_LIST *list;{  register int i;  register char *sep;  int numbering, reverse, listing, execute;  int histbeg, histend, last_hist, retval, opt, rh;  FILE *stream;  REPL *rlist, *rl;  char *ename, *command, *newcom, *fcedit;  HIST_ENTRY **hlist;  char *fn;  numbering = 1;  reverse = listing = execute = 0;  ename = (char *)NULL;  /* Parse out the options and set which of the two forms we're in. */  reset_internal_getopt ();  lcurrent = list;		/* XXX */  while (fc_number (loptend = lcurrent) == 0 &&	 (opt = internal_getopt (list, ":e:lnrs")) != -1)    {      switch (opt)	{	case 'n':	  numbering = 0;	  break;	case 'l':	  listing = 1;	  break;	case 'r':	  reverse = 1;	  break;	case 's':	  execute = 1;	  break;	case 'e':	  ename = list_optarg;	  break;	default:	  builtin_usage ();	  return (EX_USAGE);	}    }  list = loptend;  if (ename && (*ename == '-') && (ename[1] == '\0'))    execute = 1;  /* The "execute" form of the command (re-run, with possible string     substitutions). */  if (execute)    {      rlist = (REPL *)NULL;      while (list && ((sep = (char *)strchr (list->word->word, '=')) != NULL))	{	  *sep++ = '\0';	  rl = (REPL *)xmalloc (sizeof (REPL));	  rl->next = (REPL *)NULL;	  rl->pat = savestring (list->word->word);	  rl->rep = savestring (sep);	  if (rlist == NULL)	    rlist = rl;	  else	    {	      rl->next = rlist;	      rlist = rl;	    }	  list = list->next;	}      /* If we have a list of substitutions to do, then reverse it	 to get the replacements in the proper order. */      rlist = REVERSE_LIST (rlist, REPL *);      hlist = history_list ();      /* If we still have something in list, it is a command spec.	 Otherwise, we use the most recent command in time. */      command = fc_gethist (list ? list->word->word : (char *)NULL, hlist);      if (command == NULL)	{	  builtin_error (_("no command found"));	  if (rlist)	    FREE_RLIST ();	  return (EXECUTION_FAILURE);	}      if (rlist)	{	  newcom = fc_dosubs (command, rlist);	  free (command);	  FREE_RLIST ();	  command = newcom;	}      fprintf (stderr, "%s\n", command);      fc_replhist (command);	/* replace `fc -s' with command */      /* Posix says that the re-executed commands should be entered into the	 history. */      return (parse_and_execute (command, "fc", SEVAL_NOHIST));    }  /* This is the second form of the command (the list-or-edit-and-rerun     form). */  hlist = history_list ();  if (hlist == 0)    return (EXECUTION_SUCCESS);  for (i = 0; hlist[i]; i++);  /* With the Bash implementation of history, the current command line     ("fc blah..." and so on) is already part of the history list by     the time we get to this point.  This just skips over that command     and makes the last command that this deals with be the last command     the user entered before the fc.  We need to check whether the     line was actually added (HISTIGNORE may have caused it to not be),     so we check hist_last_line_added. */  /* Even though command substitution through parse_and_execute turns off     remember_on_history, command substitution in a shell when set -o history     has been enabled (interactive or not) should use it in the last_hist     calculation as if it were on. */  rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list);  last_hist = i - rh - hist_last_line_added;  /* XXX */  if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0)    while (last_hist >= 0 && hlist[last_hist] == 0)      last_hist--;  if (last_hist < 0)    {      sh_erange ((char *)NULL, _("history specification"));      return (EXECUTION_FAILURE);    }  if (list)    {      histbeg = fc_gethnum (list->word->word, hlist);      list = list->next;      if (list)	histend = fc_gethnum (list->word->word, hlist);      else	histend = listing ? last_hist : histbeg;    }  else    {      /* The default for listing is the last 16 history items. */      if (listing)	{	  histend = last_hist;	  histbeg = histend - 16 + 1;	/* +1 because loop below uses >= */	  if (histbeg < 0)	    histbeg = 0;	}      else	/* For editing, it is the last history command. */	histbeg = histend = last_hist;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
喷水一区二区三区| 一区二区三区蜜桃网| 精品午夜久久福利影院| 日韩一级片在线播放| 日本在线不卡视频一二三区| 欧美成人精品高清在线播放| 国产精品一区二区你懂的| 国产精品人人做人人爽人人添| 成人美女视频在线观看18| 亚洲天堂a在线| 欧美精品在线观看一区二区| 另类欧美日韩国产在线| 国产精品色哟哟网站| 欧美三级资源在线| 韩国在线一区二区| 18成人在线观看| 91精品在线观看入口| 国产精品1024久久| 一级女性全黄久久生活片免费| 欧美一区二区三区免费观看视频| 国产尤物一区二区在线| 亚洲日本欧美天堂| 欧美一级片免费看| 99久久久久久99| 日日夜夜精品免费视频| 国产欧美综合在线观看第十页| 色噜噜狠狠成人网p站| 久久国产麻豆精品| 亚洲男女一区二区三区| 日韩欧美不卡在线观看视频| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲不卡av一区二区三区| 久久免费视频色| 欧美日韩小视频| 成人自拍视频在线观看| 爽爽淫人综合网网站| 中文字幕精品一区二区精品绿巨人| 久久亚区不卡日本| 欧美午夜精品一区| 成人黄色大片在线观看| 蓝色福利精品导航| 亚洲一区在线观看网站| 久久久久久综合| 制服丝袜激情欧洲亚洲| 色综合久久99| 国产成+人+日韩+欧美+亚洲| 青草av.久久免费一区| 夜夜精品视频一区二区| 一区二区中文视频| 国产亚洲精品超碰| 精品国产一区二区在线观看| 欧美日韩精品一区二区| www.66久久| 岛国精品在线播放| 国产在线不卡一区| 六月丁香婷婷久久| 日本不卡视频一二三区| 亚洲高清中文字幕| 亚洲一区日韩精品中文字幕| 亚洲欧美日韩一区二区三区在线观看| 欧美不卡视频一区| 欧美一级日韩免费不卡| 欧美精品免费视频| 欧美精品在线观看一区二区| 欧美三片在线视频观看| 欧美性xxxxx极品少妇| 欧美亚洲综合久久| 在线精品亚洲一区二区不卡| 91福利在线观看| 欧洲人成人精品| 欧美婷婷六月丁香综合色| 欧美在线一二三四区| 在线精品视频小说1| 欧美在线制服丝袜| 欧美理论电影在线| 91麻豆精品国产91久久久使用方法 | 欧美日韩一级片网站| 欧洲中文字幕精品| 欧美日韩美少妇| 欧美精品xxxxbbbb| 欧美一区二区免费视频| 日韩一级大片在线| 日韩美女在线视频| 久久久久久久久99精品| 国产亚洲短视频| 亚洲国产高清aⅴ视频| ...av二区三区久久精品| 亚洲裸体在线观看| 午夜精品一区二区三区三上悠亚 | 亚洲美女少妇撒尿| 91在线观看地址| 在线观看不卡一区| 日韩一级完整毛片| 国产日韩欧美亚洲| 亚洲麻豆国产自偷在线| 天堂资源在线中文精品| 日本视频一区二区| 激情五月播播久久久精品| 成人国产一区二区三区精品| 色婷婷综合中文久久一本| 欧美日韩国产精品成人| 26uuu成人网一区二区三区| 国产精品国产三级国产普通话99 | 日韩一区二区视频| 2017欧美狠狠色| 亚洲人成网站在线| 美脚の诱脚舐め脚责91| 国产成人自拍在线| 欧美视频一二三区| 26uuu国产电影一区二区| 亚洲视频一区二区免费在线观看| 日韩一区精品视频| 丁香六月久久综合狠狠色| 在线精品国精品国产尤物884a| 日韩欧美一二三四区| **性色生活片久久毛片| 美洲天堂一区二卡三卡四卡视频 | 亚洲伊人色欲综合网| 久久福利视频一区二区| 91精彩视频在线观看| 久久久www成人免费无遮挡大片| 亚洲乱码中文字幕综合| 精品在线一区二区| 欧美羞羞免费网站| 中文字幕精品一区二区精品绿巨人| 亚洲国产成人va在线观看天堂| 国产九色sp调教91| 日韩一区二区在线看片| 亚洲乱码一区二区三区在线观看| 国内国产精品久久| 欧美精三区欧美精三区| 福利一区二区在线| 国产成人午夜精品影院观看视频| 91九色02白丝porn| 国产亚洲精品免费| 一区二区三区免费看视频| 免费人成精品欧美精品| 91久久免费观看| 国产精品人成在线观看免费 | 在线观看91精品国产入口| 久久久久久久久久久电影| 日本亚洲免费观看| 欧美三级资源在线| 亚洲欧美国产77777| 国产91精品精华液一区二区三区| 日韩一区二区高清| 视频一区二区三区中文字幕| 欧美亚州韩日在线看免费版国语版 | 欧美精品精品一区| 亚洲午夜免费福利视频| 99精品视频在线播放观看| 久久亚洲综合色一区二区三区| 亚洲成人精品一区二区| 91免费国产视频网站| 中文字幕欧美日本乱码一线二线| 国产麻豆91精品| 久久青草国产手机看片福利盒子| 久久精品99国产精品| 日韩一区二区三区观看| 日av在线不卡| 日韩欧美一区电影| 久久av中文字幕片| 欧美一区二区三级| 久久99国产精品免费网站| 精品国产a毛片| 国内精品伊人久久久久av一坑| 日韩一区二区在线观看| 精品一区二区三区免费播放| 日韩一区二区不卡| 久草精品在线观看| 久久亚洲一级片| 成人丝袜视频网| 亚洲欧洲精品一区二区三区| av色综合久久天堂av综合| 国产精品久久久99| 在线免费观看成人短视频| 亚洲成av人影院| 91精品国产综合久久久久久久久久| 日本不卡中文字幕| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲天堂精品在线观看| 欧美专区日韩专区| 日韩av高清在线观看| 日韩精品专区在线影院观看| 精品在线你懂的| 国产精品久线观看视频| 日本精品一级二级| 亚洲狠狠爱一区二区三区| 欧美一级日韩免费不卡| 国产盗摄女厕一区二区三区| 亚洲视频一区在线| 91精品国产综合久久精品麻豆| 久久精品国产亚洲a| 国产精品嫩草99a| 欧美日韩一本到| 国产乱码精品一区二区三| 一区二区三区国产豹纹内裤在线| 91精品视频网| 成人国产视频在线观看| 天天色天天操综合|