晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/doc/util-linux/ |
Upload File : |
#!/bin/tcsh # A small example script for using the getopt(1) program. # This script will only work with tcsh(1). # A similar script using the bash(1) language can be found # as getopt-parse.bash. # Example input and output (from the tcsh prompt): # ./parse.tcsh -a par1 'another arg' --c-long 'wow\!*\?' -cmore -b " very long " # Option a # Option c, no argument # Option c, argument `more' # Option b, argument ` very long ' # Remaining arguments: # --> `par1' # --> `another arg' # --> `wow!*\?' # Note that we had to escape the exclamation mark in the wow-argument. This # is _not_ a problem with getopt, but with the tcsh command parsing. If you # would give the same line from the bash prompt (ie. call ./parse.tcsh), # you could remove the exclamation mark. # This is a bit tricky. We use a temp variable, to be able to check the # return value of getopt (eval nukes it). argv contains the command arguments # as a list. The ':q` copies that list without doing any substitutions: # each element of argv becomes a separate argument for getopt. The braces # are needed because the result is also a list. set temp=(`getopt -s tcsh -o ab:c:: --long a-long,b-long:,c-long:: -- $argv:q`) if ($? != 0) then echo "Terminating..." >/dev/stderr exit 1 endif # Now we do the eval part. As the result is a list, we need braces. But they # must be quoted, because they must be evaluated when the eval is called. # The 'q` stops doing any silly substitutions. eval set argv=\($temp:q\) while (1) switch($1:q) case -a: case --a-long: echo "Option a" ; shift breaksw; case -b: case --b-long: echo "Option b, argument "\`$2:q\' ; shift ; shift breaksw case -c: case --c-long: # c has an optional argument. As we are in quoted mode, # an empty parameter will be generated if its optional # argument is not found. if ($2:q == "") then echo "Option c, no argument" else echo "Option c, argument "\`$2:q\' endif shift; shift breaksw case --: shift break default: echo "Internal error!" ; exit 1 endsw end echo "Remaining arguments:" # foreach el ($argv:q) created problems for some tcsh-versions (at least # 6.02). So we use another shift-loop here: while ($#argv > 0) echo '--> '\`$1:q\' shift end