mirror of
https://github.com/rawiriblundell/wiki.bash-hackers.org
synced 2024-12-24 13:50:39 +01:00
730 lines
52 KiB
Plaintext
730 lines
52 KiB
Plaintext
|
<!DOCTYPE html>
|
||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" dir="ltr" class="no-js">
|
||
|
<head><script src="//archive.org/includes/analytics.js?v=cf34f82" type="text/javascript"></script>
|
||
|
<script type="text/javascript">window.addEventListener('DOMContentLoaded',function(){var v=archive_analytics.values;v.service='wb';v.server_name='wwwb-app214.us.archive.org';v.server_ms=197;archive_analytics.send_pageview({});});</script>
|
||
|
<script type="text/javascript" src="/_static/js/bundle-playback.js?v=TPXmWR5s" charset="utf-8"></script>
|
||
|
<script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script>
|
||
|
<script type="text/javascript">
|
||
|
__wm.init("https://web.archive.org/web");
|
||
|
__wm.wombat("https://wiki.bash-hackers.org/start?do=edit","20220930131429","https://web.archive.org/","web","/_static/",
|
||
|
"1664543669");
|
||
|
</script>
|
||
|
<link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" />
|
||
|
<link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=qtvMKcIJ" />
|
||
|
<!-- End Wayback Rewrite JS Include -->
|
||
|
|
||
|
<meta charset="UTF-8"/>
|
||
|
<title>The Bash Hackers Wiki [Bash Hackers Wiki]</title>
|
||
|
<script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
|
||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||
|
<link rel="shortcut icon" href="/web/20220930131429im_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/images/favicon.ico"/>
|
||
|
<link rel="apple-touch-icon" href="/web/20220930131429im_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/images/apple-touch-icon.png"/>
|
||
|
<meta name="generator" content="DokuWiki"/>
|
||
|
<meta name="robots" content="noindex,nofollow"/>
|
||
|
<link type="text/css" rel="stylesheet" href="/web/20220930131429cs_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/assets/bootstrap/default/bootstrap.min.css"/>
|
||
|
<link rel="search" type="application/opensearchdescription+xml" href="/web/20220930131429/https://wiki.bash-hackers.org/lib/exe/opensearch.php" title="Bash Hackers Wiki"/>
|
||
|
<link rel="start" href="/"/>
|
||
|
<link rel="contents" href="/start?do=index" title="Sitemap"/>
|
||
|
<link rel="manifest" href="/web/20220930131429/https://wiki.bash-hackers.org/lib/exe/manifest.php"/>
|
||
|
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/web/20220930131429/https://wiki.bash-hackers.org/feed.php"/>
|
||
|
<link rel="alternate" type="application/rss+xml" title="Current namespace" href="/web/20220930131429/https://wiki.bash-hackers.org/feed.php?mode=list&ns="/>
|
||
|
<link rel="alternate" type="text/html" title="Plain HTML" href="/web/20220930131429/https://wiki.bash-hackers.org/_export/xhtml/start"/>
|
||
|
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/web/20220930131429/https://wiki.bash-hackers.org/_export/raw/start"/>
|
||
|
<link rel="stylesheet" type="text/css" href="/web/20220930131429cs_/https://wiki.bash-hackers.org/lib/exe/css.php?t=bootstrap3&tseed=54923c3deda180f2db5bd755cd8fbf1a"/>
|
||
|
<!--[if gte IE 9]><!-->
|
||
|
<script type="text/javascript">/*<![CDATA[*/var NS='';var JSINFO = {"updatable":1,"userreplace":1,"default_macro_string":"","plugins":{"edittable":{"default columnwidth":""}},"move_renameokay":false,"isadmin":0,"isauth":0,"bootstrap3":{"mode":"source","toc":[],"config":{"collapsibleSections":0,"fixedTopNavbar":1,"showSemanticPopup":0,"sidebarOnNavbar":0,"tagsOnTop":1,"tocAffix":1,"tocCollapseOnScroll":1,"tocCollapsed":0,"tocLayout":"default","useAnchorJS":1,"useAlternativeToolbarIcons":1}},"id":"start","namespace":"","ACT":"source","useHeadingNavigation":1,"useHeadingContent":1};
|
||
|
/*!]]>*/</script>
|
||
|
<script type="text/javascript" charset="utf-8" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/exe/jquery.php?tseed=23f888679b4f1dc26eef34902aca964f"></script>
|
||
|
<script type="text/javascript" charset="utf-8" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/exe/js.php?t=bootstrap3&tseed=54923c3deda180f2db5bd755cd8fbf1a"></script>
|
||
|
<script type="text/javascript">/*<![CDATA[*/if (typeof IconifyConfig == 'undefined') { var IconifyConfig = { 'defaultAPI' : '/lib/tpl/bootstrap3/iconify.php?prefix={prefix}&icons={icons}' } }
|
||
|
/*!]]>*/</script>
|
||
|
<script type="text/javascript" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/assets/bootstrap/js/bootstrap.min.js"></script>
|
||
|
<script type="text/javascript" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/assets/anchorjs/anchor.min.js"></script>
|
||
|
<script type="text/javascript" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/assets/typeahead/bootstrap3-typeahead.min.js"></script>
|
||
|
<script type="text/javascript" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/assets/iconify/iconify.min.js"></script>
|
||
|
<script type="text/javascript" src="/web/20220930131429js_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/assets/iconify/plugins/fa.js"></script>
|
||
|
<!--<![endif]-->
|
||
|
<style type="text/css">@media screen { body { margin-top: 65px; } #dw__toc.affix { top: 55px; position: fixed !important; } #dw__toc .nav .nav .nav { display: none; } }</style>
|
||
|
<!--[if lt IE 9]>
|
||
|
<script type="text/javascript" src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||
|
<script type="text/javascript" src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||
|
<![endif]-->
|
||
|
</head>
|
||
|
<body class="default dokuwiki mode_source tpl_bootstrap3 home dw-page-on-panel dw-fluid-container" data-page-id="start"><!-- BEGIN WAYBACK TOOLBAR INSERT -->
|
||
|
<script>__wm.rw(0);</script>
|
||
|
<div id="wm-ipp-base" lang="en" style="display:none;direction:ltr;">
|
||
|
<div id="wm-ipp" style="position:fixed;left:0;top:0;right:0;">
|
||
|
<div id="donato" style="position:relative;width:100%;">
|
||
|
<div id="donato-base">
|
||
|
<iframe id="donato-if" src="https://archive.org/includes/donate.php?as_page=1&platform=wb&referer=https%3A//web.archive.org/web/20220930131429/https%3A//wiki.bash-hackers.org/start%3Fdo%3Dedit"
|
||
|
scrolling="no" frameborder="0" style="width:100%; height:100%">
|
||
|
</iframe>
|
||
|
</div>
|
||
|
</div><div id="wm-ipp-inside">
|
||
|
<div id="wm-toolbar" style="position:relative;display:flex;flex-flow:row nowrap;justify-content:space-between;">
|
||
|
<div id="wm-logo" style="/*width:110px;*/padding-top:12px;">
|
||
|
<a href="/web/" title="Wayback Machine home page"><img src="/_static/images/toolbar/wayback-toolbar-logo-200.png" srcset="/_static/images/toolbar/wayback-toolbar-logo-100.png, /_static/images/toolbar/wayback-toolbar-logo-150.png 1.5x, /_static/images/toolbar/wayback-toolbar-logo-200.png 2x" alt="Wayback Machine" style="width:100px" border="0" /></a>
|
||
|
</div>
|
||
|
<div class="c" style="display:flex;flex-flow:column nowrap;justify-content:space-between;flex:1;">
|
||
|
<form class="u" style="display:flex;flex-direction:row;flex-wrap:nowrap;" target="_top" method="get" action="/web/submit" name="wmtb" id="wmtb"><input type="text" name="url" id="wmtbURL" value="https://wiki.bash-hackers.org/start?do=edit" onfocus="this.focus();this.select();" style="flex:1;"/><input type="hidden" name="type" value="replay" /><input type="hidden" name="date" value="20220930131429" /><input type="submit" value="Go" />
|
||
|
</form>
|
||
|
<div style="display:flex;flex-flow:row nowrap;align-items:flex-end;">
|
||
|
<div class="s" id="wm-nav-captures" style="flex:1;">
|
||
|
<a class="t" href="/web/20220930131429*/https://wiki.bash-hackers.org/start?do=edit" title="See a list of every capture for this URL">22 captures</a>
|
||
|
<div class="r" title="Timespan for captures of this URL">03 Apr 2016 - 24 Feb 2023</div>
|
||
|
</div>
|
||
|
<div class="k">
|
||
|
<a href="" id="wm-graph-anchor">
|
||
|
<div id="wm-ipp-sparkline" title="Explore captures for this URL" style="position: relative">
|
||
|
<canvas id="wm-sparkline-canvas" width="700" height="27" border="0"></canvas>
|
||
|
</div>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="n">
|
||
|
<table>
|
||
|
<tbody>
|
||
|
<!-- NEXT/PREV MONTH NAV AND MONTH INDICATOR -->
|
||
|
<tr class="m">
|
||
|
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20220625202433/https://wiki.bash-hackers.org/start?do=edit" title="25 Jun 2022"><strong>Jun</strong></a></td>
|
||
|
<td class="c" id="displayMonthEl" title="You are here: 13:14:29 Sep 30, 2022">SEP</td>
|
||
|
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20230224010517/https://wiki.bash-hackers.org/start?do=edit" title="24 Feb 2023"><strong>Feb</strong></a></td>
|
||
|
</tr>
|
||
|
<!-- NEXT/PREV CAPTURE NAV AND DAY OF MONTH INDICATOR -->
|
||
|
<tr class="d">
|
||
|
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20220625202433/https://wiki.bash-hackers.org/start?do=edit" title="20:24:33 Jun 25, 2022"><img src="/_static/images/toolbar/wm_tb_prv_on.png" alt="Previous capture" width="14" height="16" border="0" /></a></td>
|
||
|
<td class="c" id="displayDayEl" style="width:34px;font-size:22px;white-space:nowrap;" title="You are here: 13:14:29 Sep 30, 2022">30</td>
|
||
|
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20230224010517/https://wiki.bash-hackers.org/start?do=edit" title="01:05:17 Feb 24, 2023"><img src="/_static/images/toolbar/wm_tb_nxt_on.png" alt="Next capture" width="14" height="16" border="0" /></a></td>
|
||
|
</tr>
|
||
|
<!-- NEXT/PREV YEAR NAV AND YEAR INDICATOR -->
|
||
|
<tr class="y">
|
||
|
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20210808162204/https://wiki.bash-hackers.org/start?do=edit" title="08 Aug 2021"><strong>2021</strong></a></td>
|
||
|
<td class="c" id="displayYearEl" title="You are here: 13:14:29 Sep 30, 2022">2022</td>
|
||
|
<td class="f" nowrap="nowrap">2023</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
<div class="r" style="display:flex;flex-flow:column nowrap;align-items:flex-end;justify-content:space-between;">
|
||
|
<div id="wm-btns" style="text-align:right;height:23px;">
|
||
|
<span class="xxs">
|
||
|
<div id="wm-save-snapshot-success">success</div>
|
||
|
<div id="wm-save-snapshot-fail">fail</div>
|
||
|
<a id="wm-save-snapshot-open" href="#" title="Share via My Web Archive" >
|
||
|
<span class="iconochive-web"></span>
|
||
|
</a>
|
||
|
<a href="https://archive.org/account/login.php" title="Sign In" id="wm-sign-in">
|
||
|
<span class="iconochive-person"></span>
|
||
|
</a>
|
||
|
<span id="wm-save-snapshot-in-progress" class="iconochive-web"></span>
|
||
|
</span>
|
||
|
<a class="xxs" href="http://faq.web.archive.org/" title="Get some help using the Wayback Machine" style="top:-6px;"><span class="iconochive-question" style="color:rgb(87,186,244);font-size:160%;"></span></a>
|
||
|
<a id="wm-tb-close" href="#close" style="top:-2px;" title="Close the toolbar"><span class="iconochive-remove-circle" style="color:#888888;font-size:240%;"></span></a>
|
||
|
</div>
|
||
|
<div id="wm-share" class="xxs">
|
||
|
<a href="/web/20220930131429/http://web.archive.org/screenshot/https://wiki.bash-hackers.org/start?do=edit"
|
||
|
id="wm-screenshot"
|
||
|
title="screenshot">
|
||
|
<span class="wm-icon-screen-shot"></span>
|
||
|
</a>
|
||
|
<a href="#" id="wm-video" title="video">
|
||
|
<span class="iconochive-movies"></span>
|
||
|
</a>
|
||
|
<a id="wm-share-facebook" href="#" data-url="https://web.archive.org/web/20220930131429/https://wiki.bash-hackers.org/start?do=edit" title="Share on Facebook" style="margin-right:5px;" target="_blank"><span class="iconochive-facebook" style="color:#3b5998;font-size:160%;"></span></a>
|
||
|
<a id="wm-share-twitter" href="#" data-url="https://web.archive.org/web/20220930131429/https://wiki.bash-hackers.org/start?do=edit" title="Share on Twitter" style="margin-right:5px;" target="_blank"><span class="iconochive-twitter" style="color:#1dcaff;font-size:160%;"></span></a>
|
||
|
</div>
|
||
|
<div style="padding-right:2px;text-align:right;white-space:nowrap;">
|
||
|
<a id="wm-expand" class="wm-btn wm-closed" href="#expand" onclick="__wm.ex(event);return false;"><span id="wm-expand-icon" class="iconochive-down-solid"></span> <span class="xxs" style="font-size:80%;">About this capture</span></a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="wm-capinfo" style="border-top:1px solid #777;display:none; overflow: hidden">
|
||
|
<div id="wm-capinfo-notice" source="api"></div>
|
||
|
<div id="wm-capinfo-collected-by">
|
||
|
<div style="background-color:#666;color:#fff;font-weight:bold;text-align:center">COLLECTED BY</div>
|
||
|
<div style="padding:3px;position:relative" id="wm-collected-by-content">
|
||
|
<div style="display:inline-block;vertical-align:top;width:49%;">
|
||
|
<span class="c-logo" style="background-image:url(https://archive.org/services/img/commoncrawl)"></span>
|
||
|
<div>Collection: <a style="color:#33f;" href="https://archive.org/details/commoncrawl" target="_new"><span class="wm-title">Common Crawl</span></a></div>
|
||
|
<div style="max-height:75px;overflow:hidden;position:relative;">
|
||
|
<div style="position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);"></div>
|
||
|
Web crawl data from Common Crawl.
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div id="wm-capinfo-timestamps">
|
||
|
<div style="background-color:#666;color:#fff;font-weight:bold;text-align:center" title="Timestamps for the elements of this page">TIMESTAMPS</div>
|
||
|
<div>
|
||
|
<div id="wm-capresources" style="margin:0 5px 5px 5px;max-height:250px;overflow-y:scroll !important"></div>
|
||
|
<div id="wm-capresources-loading" style="text-align:left;margin:0 20px 5px 5px;display:none"><img src="/_static/images/loading.gif" alt="loading" /></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div></div></div></div><div id="wm-ipp-print">The Wayback Machine - https://web.archive.org/web/20220930131429/https://wiki.bash-hackers.org/start?do=edit</div>
|
||
|
<script type="text/javascript">//<![CDATA[
|
||
|
__wm.bt(700,27,25,2,"web","https://wiki.bash-hackers.org/start?do=edit","20220930131429",1996,"/_static/",["/_static/css/banner-styles.css?v=S1zqJCYt","/_static/css/iconochive.css?v=qtvMKcIJ"], false);
|
||
|
__wm.rw(1);
|
||
|
//]]></script>
|
||
|
<!-- END WAYBACK TOOLBAR INSERT -->
|
||
|
<div class="dokuwiki">
|
||
|
<header id="dokuwiki__header" class="dw-container dokuwiki container-fluid mx-5">
|
||
|
<!-- navbar -->
|
||
|
<nav id="dw__navbar" class="navbar navbar-fixed-top navbar-default" role="navigation">
|
||
|
|
||
|
<div class="dw-container container-fluid mx-5">
|
||
|
|
||
|
<div class="navbar-header">
|
||
|
|
||
|
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-collapse">
|
||
|
<span class="icon-bar"></span>
|
||
|
<span class="icon-bar"></span>
|
||
|
<span class="icon-bar"></span>
|
||
|
</button>
|
||
|
|
||
|
<a class="navbar-brand d-flex align-items-center" href="/web/20220930131429/https://wiki.bash-hackers.org/start" accesskey="h" title="Bash Hackers Wiki"><img id="dw__logo" class="pull-left h-100 mr-4" alt="Bash Hackers Wiki" src="/web/20220930131429im_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/images/logo.png"/><div class="pull-right"><div id="dw__title">Bash Hackers Wiki</div></div></a>
|
||
|
</div>
|
||
|
|
||
|
<div class="collapse navbar-collapse">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="navbar-right" id="dw__navbar_items">
|
||
|
|
||
|
|
||
|
<!-- navbar-searchform -->
|
||
|
<form action="/web/20220930131429/https://wiki.bash-hackers.org/start" accept-charset="utf-8" class="navbar-form navbar-left search" id="dw__search" method="get" role="search">
|
||
|
<div class="input-group">
|
||
|
<input id="qsearch" autocomplete="off" type="search" placeholder="Search" value="" accesskey="f" name="q" class="form-control" title="[F]"/>
|
||
|
<div class="input-group-btn">
|
||
|
<button class="btn btn-default" type="submit" title="Search">
|
||
|
<span class="iconify" data-icon="mdi:magnify"></span> </button>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
<input type="hidden" name="do" value="search"/>
|
||
|
</form>
|
||
|
<!-- /navbar-searchform -->
|
||
|
<!-- tools-menu -->
|
||
|
<ul class="nav navbar-nav dw-action-icon" id="dw__tools">
|
||
|
|
||
|
|
||
|
<li class="dropdown">
|
||
|
|
||
|
<a href="" class="dropdown-toggle" data-target="#" data-toggle="dropdown" title="" role="button" aria-haspopup="true" aria-expanded="false">
|
||
|
<span class="iconify" data-icon="mdi:wrench"></span> <span class="hidden-lg hidden-md hidden-sm">Tools</span> <span class="caret"></span>
|
||
|
</a>
|
||
|
|
||
|
<ul class="dropdown-menu tools" role="menu">
|
||
|
|
||
|
<li class="dropdown-header">
|
||
|
<span class="iconify" data-icon="mdi:account"></span> User Tools </li>
|
||
|
|
||
|
<li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=register" title="Register" rel="nofollow" class="menuitem register"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M15 14c-2.67 0-8 1.33-8 4v2h16v-2c0-2.67-5.33-4-8-4m-9-4V7H4v3H1v2h3v3h2v-3h3v-2m6 2a4 4 0 0 0 4-4 4 4 0 0 0-4-4 4 4 0 0 0-4 4 4 4 0 0 0 4 4z"/></svg><span>Register</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=login&sectok=" title="Log In" rel="nofollow" class="menuitem login"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg><span>Log In</span></a></li>
|
||
|
<li class="divider" role="separator"></li>
|
||
|
|
||
|
|
||
|
<li class="dropdown-header">
|
||
|
<span class="iconify" data-icon="mdi:toolbox"></span> Site Tools </li>
|
||
|
|
||
|
<li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=recent" title="Recent Changes [r]" rel="nofollow" accesskey="r" class="menuitem recent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69V13m4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67V8M5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2H5m11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85z"/></svg><span>Recent Changes</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=media&ns=" title="Media Manager" rel="nofollow" class="menuitem media"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M7 15l4.5-6 3.5 4.5 2.5-3L21 15m1-11h-8l-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M2 6H0v14a2 2 0 0 0 2 2h18v-2H2V6z"/></svg><span>Media Manager</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=index" title="Sitemap [x]" rel="nofollow" accesskey="x" class="menuitem index"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M3 3h6v4H3V3m12 7h6v4h-6v-4m0 7h6v4h-6v-4m-2-4H7v5h6v2H5V9h2v2h6v2z"/></svg><span>Sitemap</span></a></li>
|
||
|
<li class="divider" role="separator"></li>
|
||
|
|
||
|
|
||
|
<li class="dropdown-header">
|
||
|
<span class="iconify" data-icon="mdi:file-document-outline"></span> Page Tools </li>
|
||
|
|
||
|
<li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=" title="Show page [v]" rel="nofollow" accesskey="v" class="menuitem show"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M13 9h5.5L13 3.5V9M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m9 16v-2H6v2h9m3-4v-2H6v2h12z"/></svg><span>Show page</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=revisions" title="Old revisions [o]" rel="nofollow" accesskey="o" class="menuitem revs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg><span>Old revisions</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=backlink" title="Backlinks" rel="nofollow" class="menuitem backlink"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg><span>Backlinks</span></a></li><li class="action"><a href="#dokuwiki__top" title="Back to top [t]" rel="nofollow" accesskey="t" class="menuitem top"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg><span>Back to top</span></a></li>
|
||
|
|
||
|
</ul>
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
<!-- /tools-menu -->
|
||
|
|
||
|
<ul class="nav navbar-nav">
|
||
|
|
||
|
|
||
|
<li>
|
||
|
<span class="dw__actions dw-action-icon">
|
||
|
<a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=register" title="Register" rel="nofollow" class="menuitem register btn btn-success navbar-btn"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M15 14c-2.67 0-8 1.33-8 4v2h16v-2c0-2.67-5.33-4-8-4m-9-4V7H4v3H1v2h3v3h2v-3h3v-2m6 2a4 4 0 0 0 4-4 4 4 0 0 0-4-4 4 4 0 0 0-4 4 4 4 0 0 0 4 4z"/></svg><span class=""> Register</span></a><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=login&sectok=" title="Log In" rel="nofollow" class="menuitem login btn btn-default navbar-btn"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg><span class=""> Log In</span></a> </span>
|
||
|
</li>
|
||
|
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</nav>
|
||
|
<!-- navbar -->
|
||
|
<div align="center">
|
||
|
<script async src="//web.archive.org/web/20220930131429js_/https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||
|
<!-- BHORG_BOTTOM -->
|
||
|
<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-4658830517838678" data-ad-slot="1603598940"></ins>
|
||
|
<script>
|
||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||
|
</script>
|
||
|
</div>
|
||
|
|
||
|
</header>
|
||
|
|
||
|
<a name="dokuwiki__top" id="dokuwiki__top"></a>
|
||
|
|
||
|
<main role="main" class="dw-container pb-5 dokuwiki container-fluid mx-5">
|
||
|
|
||
|
<div id="dokuwiki__pageheader">
|
||
|
|
||
|
|
||
|
<!-- breadcrumbs -->
|
||
|
<nav id="dw__breadcrumbs" class="small">
|
||
|
|
||
|
<hr/>
|
||
|
|
||
|
<div class="dw__youarehere">
|
||
|
<ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li>You are here</li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start" itemprop="item" title="start"><span itemprop="name"><span class="iconify" data-icon="mdi:home"></span></span></a></li></ol> </div>
|
||
|
|
||
|
<div class="dw__breadcrumbs hidden-print">
|
||
|
<ol class="breadcrumb"><li>Trace</li> </div>
|
||
|
|
||
|
<hr/>
|
||
|
|
||
|
</nav>
|
||
|
<!-- /breadcrumbs -->
|
||
|
|
||
|
<p class="text-right">
|
||
|
<span class="pageId ml-1 label label-primary">start</span> </p>
|
||
|
|
||
|
<div id="dw__msgarea" class="small">
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div class="row">
|
||
|
|
||
|
|
||
|
<article id="dokuwiki__content" class="col-sm-12 col-md-12 " itemscope itemtype="http://schema.org/Article" itemref="dw__license">
|
||
|
|
||
|
|
||
|
<!-- page-tools -->
|
||
|
<nav id="dw__pagetools" class="hidden-print">
|
||
|
<div class="tools panel panel-default">
|
||
|
<ul class="nav nav-stacked nav-pills text-muted">
|
||
|
<li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=" title="Show page [v]" rel="nofollow" accesskey="v" class="menuitem show"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M13 9h5.5L13 3.5V9M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m9 16v-2H6v2h9m3-4v-2H6v2h12z"/></svg><span>Show page</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=revisions" title="Old revisions [o]" rel="nofollow" accesskey="o" class="menuitem revs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg><span>Old revisions</span></a></li><li class="action"><a href="/web/20220930131429/https://wiki.bash-hackers.org/start?do=backlink" title="Backlinks" rel="nofollow" class="menuitem backlink"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg><span>Backlinks</span></a></li><li class="action"><a href="#dokuwiki__top" title="Back to top [t]" rel="nofollow" accesskey="t" class="menuitem top"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg><span>Back to top</span></a></li> </ul>
|
||
|
</div>
|
||
|
</nav>
|
||
|
<!-- /page-tools -->
|
||
|
|
||
|
<div class="panel panel-default px-3 py-2" itemprop="articleBody">
|
||
|
<div class="page panel-body">
|
||
|
|
||
|
|
||
|
<div class="dw-content-page "><!-- content --><div class="dw-content"><p>
|
||
|
This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong.
|
||
|
</p>
|
||
|
<div class="editBox" role="application">
|
||
|
|
||
|
<div class="toolbar group">
|
||
|
<div id="draft__status" class="draft__status"></div>
|
||
|
<div id="tool__bar" class="tool__bar"></div>
|
||
|
</div>
|
||
|
<form id="dw__editform" method="post" action="" accept-charset="utf-8" class=" form-inline"><div class="no">
|
||
|
<input type="hidden" name="sectok" value=""/><input type="hidden" name="id" value="start"/><input type="hidden" name="rev" value="0"/><input type="hidden" name="date" value="0"/><input type="hidden" name="prefix" value="."/><input type="hidden" name="suffix" value=""/><input type="hidden" name="changecheck" value="0f6e8eefaf4810f92eae187b61c7b550"/><input type="hidden" name="target" value="section"/><textarea name="wikitext" id="wiki__text" dir="auto" class="edit form-control" cols="80" rows="10" tabindex="1" readonly="readonly">
|
||
|
[[bash4|]]~~NOTOC~~
|
||
|
~~DISCUSSION:off~~
|
||
|
|
||
|
====== The Bash Hackers Wiki ======
|
||
|
|
||
|
{{keywords>bash shell linux scripting}}
|
||
|
|
||
|
<WRAP center round box 90%>
|
||
|
This wiki is intended to hold documentation of any kind about GNU Bash. The main motivation was to provide //human-readable documentation// and information so users aren't forced to read every bit of the Bash manpage - which can be difficult to understand. However, the docs here are **not** meant as a newbie tutorial.
|
||
|
|
||
|
This wiki and any programs found in this wiki are free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||
|
|
||
|
This wiki and its programs are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
[[wishes | What would YOU like to see here?]] (outdated and locked, please use the discussions)
|
||
|
|
||
|
**Stranger!** [[http://wiki.bash-hackers.org/start&do=register | Feel free to register]] and comment or edit the contents. There is a [[meta:need_love|Bash Hackers Wiki needs love page]] that lists some things to do. The registration is only there to prevent SPAM.
|
||
|
</WRAP>
|
||
|
|
||
|
===== Scripting and general information =====
|
||
|
* [[bash4 | Bash v4 - a rough overview]] (unmaintained, since Bash 4 is more or less standard)
|
||
|
* [[scripting:style]] -- an assorted collection of style and optic hints
|
||
|
* [[scripting:basics]]
|
||
|
* [[scripting:newbie_traps]]
|
||
|
* [[scripting:bashbehaviour]]
|
||
|
* [[scripting:posparams]]
|
||
|
* [[scripting:processtree]]
|
||
|
* [[scripting:obsolete]]
|
||
|
* [[scripting:nonportable]]
|
||
|
* [[scripting:debuggingtips]]
|
||
|
* [[scripting:terminalcodes]]
|
||
|
* [[scripting:tutoriallist]]
|
||
|
|
||
|
===== Code snippets ====
|
||
|
|
||
|
There is a [[snipplets:start|section that holds small code snippets]].
|
||
|
|
||
|
See also [[misc:readthesourceluke|some Bash source code excerpts]].
|
||
|
|
||
|
|
||
|
|
||
|
===== How to.... =====
|
||
|
[[howto:start | Doing specific tasks: concepts, methods, ideas]]:
|
||
|
|
||
|
* [[howto:mutex | Simple locking (against parallel run)]]
|
||
|
* [[howto:conffile | Rudimentary config files for your scripts]]
|
||
|
* [[howto:edit-ed | Editing files with ed(1)]]
|
||
|
* [[howto:collapsing_functions | Collapsing Functions]]
|
||
|
* [[howto:redirection_tutorial | Illustrated Redirection Tutorial]]
|
||
|
* [[howto:calculate-dc | Calculate with dc(1)]]
|
||
|
* [[howto:pax | Introduction to pax - the POSIX archiver]]
|
||
|
* [[howto:getopts_tutorial]] (//under construction!//)
|
||
|
* [[howto:dissectabadoneliner]] An example of a bad oneliner, breakdown and fix (by ''kojoro'')
|
||
|
* [[howto:testing-your-scripts | Write tests for ./your-script.sh]] by using bashtest util
|
||
|
|
||
|
|
||
|
===== Bash syntax and operations =====
|
||
|
|
||
|
* [[scripting:bashchanges | Bash features overview by version]]
|
||
|
* [[syntax:basicgrammar | Basic grammar rules ]]
|
||
|
* [[syntax:quoting | Quoting and character escaping]]
|
||
|
* [[syntax:grammar:parser_exec | Parsing and execution]]
|
||
|
* [[syntax:words | Some words about words...]]
|
||
|
* [[syntax:pattern | Patterns and pattern matching]]
|
||
|
* [[syntax:arith_expr | Arithmetic expressions]]
|
||
|
* [[internals:shell_options | List of shell options]]
|
||
|
* [[syntax:redirection | Redirection]]
|
||
|
* [[syntax:shellvars | Special parameters and shell variables]]
|
||
|
* [[syntax:arrays | Arrays]]
|
||
|
|
||
|
<WRAP column 40%>
|
||
|
//**__Compound commands__**//
|
||
|
|
||
|
^**[[syntax:ccmd:intro | Compound commands overview]]** ^^
|
||
|
^Grouping ^^
|
||
|
|''{ ...; }''|[[syntax:ccmd:grouping_plain | command grouping]]|
|
||
|
|''( ... )''|[[syntax:ccmd:grouping_subshell | command grouping in a subshell]]|
|
||
|
^Conditionals ^^
|
||
|
|''<nowiki>[[ ... ]]</nowiki>''|[[syntax:ccmd:conditional_expression | conditional expression]]|
|
||
|
|''if ...; then ...; fi''|[[syntax:ccmd:if_clause | conditional branching]]|
|
||
|
|''case ... esac''|[[syntax:ccmd:case | pattern-based branching]]|
|
||
|
^Loops ^^
|
||
|
|''for word in ...; do ...; done''|[[syntax:ccmd:classic_for | classic for-loop]]|
|
||
|
|''<nowiki>for ((x=1; x<=10; x++)); do ...; done</nowiki>''|[[syntax:ccmd:c_for | C-style for-loop]]|
|
||
|
|''while ...; do ...; done''|[[syntax:ccmd:while_loop | while loop]]|
|
||
|
|''until ...; do ...; done''|[[syntax:ccmd:until_loop | until loop]]|
|
||
|
^Misc ^^
|
||
|
|''<nowiki>(( ... ))</nowiki>''|[[syntax:ccmd:arithmetic_eval | arithmetic evaluation]]|
|
||
|
|''select word in ...; do ...; done''|[[syntax:ccmd:user_select | user selections]]|
|
||
|
</WRAP>
|
||
|
|
||
|
<WRAP column 40%>
|
||
|
//**__Expansions and substitutions__**//
|
||
|
|
||
|
^**[[syntax:expansion:intro | Introduction to expansions and substitutions]]** ^^
|
||
|
|''{A,B,C} {A..C}''|[[syntax:expansion:brace | Brace expansion]]|
|
||
|
|''~/ ~root/''|[[syntax:expansion:tilde | Tilde expansion]]|
|
||
|
|''$FOO ${BAR%.mp3}''|[[syntax:pe | Parameter expansion]]|
|
||
|
|''`command` $(command)''|[[syntax:expansion:cmdsubst | Command substitution]]|
|
||
|
|''<(command) >(command)''|[[syntax:expansion:proc_subst | Process substitution]]|
|
||
|
|''<nowiki>$((1 + 2 + 3)) $[4 + 5 + 6]</nowiki>''|[[syntax:expansion:arith | Arithmetic expansion]]|
|
||
|
|''Hello <nowiki><---></nowiki> Word!''|[[syntax:expansion:wordsplit | Word splitting]]|
|
||
|
|''/data/*-av/*.mp?''|[[syntax:expansion:globs | Pathname expansion]]|
|
||
|
</WRAP>
|
||
|
<WRAP clear></WRAP>
|
||
|
|
||
|
===== Builtin Commands =====
|
||
|
|
||
|
This is a selection of builtin commands and command-like keywords, loosely arranged by their common uses. These are provided directly by the shell, rather than invoked as standalone external commands.
|
||
|
|
||
|
<WRAP column 46%>
|
||
|
^ Declaration commands\\ <wrap center round lo todo box 80%>Commands that set and query attributes/types, and manipulate simple datastructures.</wrap> ^^ Alt ^ Type ^
|
||
|
|[[commands:builtin:declare | declare]]|Display or set shell variables or functions along with attributes.| ''typeset'' | builtin |
|
||
|
|[[commands:builtin:export | export]]|Display or set shell variables, also giving them the export attribute.| ''typeset -x'' | special builtin |
|
||
|
|[[commands:builtin:eval | eval]]|Evaluate arguments as shell code.| - | special builtin |
|
||
|
|[[commands:builtin:local | local]]|Declare variables as having function local scope.| - | builtin |
|
||
|
|[[commands:builtin:readonly | readonly]]|Mark variables or functions as read-only.| ''typeset -r'' | special builtin |
|
||
|
|[[commands:builtin:unset | unset]]|Unset variables and functions.| - | special builtin |
|
||
|
|[[commands:builtin:shift | shift]]|Shift positional parameters| - | special builtin |
|
||
|
^ I/O\\ <wrap center round lo todo box 80%>Commands for reading/parsing input, or producing/formatting output of standard streams.</wrap> ^^ Alt ^ Type ^
|
||
|
|[[syntax:keywords:coproc | coproc]]|Co-processes: Run a command in the background with pipes for reading / writing its standard streams.| - | keyword |
|
||
|
|[[commands:builtin:echo | echo]]|Create output from arguments.| - | builtin |
|
||
|
|[[commands:builtin:mapfile | mapfile]]|Read lines of input into an array.| ''readarray'' | builtin |
|
||
|
|[[commands:builtin:printf | printf]]|"advanced ''echo''."| - | builtin |
|
||
|
|[[commands:builtin:read | read]]|Read input into variables or arrays, or split strings into fields using delimiters.| - | builtin |
|
||
|
^ Configuration and Debugging\\ <wrap center round lo todo box 80%>Commands that modify shell behavior, change special options, assist in debugging.</wrap> ^^ Alt ^ Type ^
|
||
|
|[[commands:builtin:caller | caller]]|Identify/print execution frames.| - | builtin |
|
||
|
|[[commands:builtin:set | set]]|Set the positional parameters and/or set options that affect shell behaviour.| - | special builtin |
|
||
|
|[[commands:builtin:shopt | shopt]]|set/get some bash-specific shell options.| - | builtin |
|
||
|
</WRAP>
|
||
|
|
||
|
<WRAP column 46%>
|
||
|
^ Control flow and data processing\\ <wrap center round lo todo box 80%>Commands that operate on data and/or affect control flow.</wrap> |^ Alt ^ Type ^
|
||
|
| [[commands:builtin:true| colon]] | "true" null command. | true | special builtin |
|
||
|
| [[commands:builtin:source| dot]] | Source external files. | source | special builtin |
|
||
|
| [[commands:builtin:false| false]] | Fail at doing nothing. | - | builtin |
|
||
|
| [[commands:builtin:continueBreak| continue / break]] | continue with or break out of loops. | - | special builtin |
|
||
|
| [[commands:builtin:let| let]] | Arithmetic evaluation simple command. | - | builtin |
|
||
|
| [[commands:builtin:return| return]] | Return from a function with a specified exit status. | - | special builtin |
|
||
|
| [[commands:classictest| []] | The classic ''test'' simple command. | test | builtin |
|
||
|
^ Process and Job control\\ <wrap center round lo todo box 80%>Commands related to jobs, signals, process groups, subshells.</wrap> |^ Alt ^ Type ^
|
||
|
| [[commands:builtin:exec| exec]] | Replace the current shell process or set redirections. | - | special builtin |
|
||
|
| [[commands:builtin:exit| exit]] | Exit the shell. | - | special builtin |
|
||
|
| [[commands:builtin:kill| kill]] | Send a signal to specified process(es) | - | builtin |
|
||
|
| [[commands:builtin:trap| trap]] | Set signal handlers or output the current handlers. | - | special builtin |
|
||
|
| [[commands:builtin:times| times]] | Display process times. | - | special builtin |
|
||
|
| [[commands:builtin:wait| wait]] | Wait for background jobs and asynchronous lists. | - | builtin |
|
||
|
^ |^ Alt ^ Type ^
|
||
|
</WRAP>
|
||
|
<WRAP clear></WRAP>
|
||
|
<WRAP hide> previous alphabetical version
|
||
|
<WRAP column 40%>
|
||
|
^A-G^^
|
||
|
|[[commands:builtin:caller | caller]]|identify/print execution frames (Bash builtin) |
|
||
|
|[[syntax:keywords:coproc | coproc]]|Co-processes (Bash keyword) |
|
||
|
|[[commands:builtin:declare | declare]]|display or set shell variables or functions along with attributes (Bash builtin, synonym: ''typeset'') |
|
||
|
|[[commands:builtin:exec | exec]] | replace the shell, set redirections (Bash builtin) |
|
||
|
^I-N^^
|
||
|
|[[commands:builtin:let | let]]|arithmetic evaluation - an old fashioned way (Bash builtin) |
|
||
|
|[[commands:builtin:mapfile | mapfile]]|Mapping lines of input to an array, also named ''readarray'' (Bash builtin) |
|
||
|
</WRAP>
|
||
|
|
||
|
<WRAP column 40%>
|
||
|
^O-T^^
|
||
|
|[[commands:builtin:printf | printf]]|"advanced ''echo''" (Bash builtin) |
|
||
|
|[[commands:builtin:read | read]]|getting input from ''stdin'' (Bash builtin) |
|
||
|
|[[commands:builtin:readonly | readonly]]|mark variables or functions as read-only (Bash builtin) |
|
||
|
|[[commands:builtin:set | set]]|control positional parameters and shell behaviour (Bash builtin) |
|
||
|
|[[commands:builtin:shopt | shopt]]|set/get shell options (Bash builtin) |
|
||
|
|[[commands:classictest | test]]|the classic ''test'' command (Bash builtin) |
|
||
|
^U-Z^^
|
||
|
|[[commands:builtin:unset | unset]]|unset variables and functions (Bash builtin) |
|
||
|
</WRAP>
|
||
|
<WRAP clear></WRAP>
|
||
|
</WRAP>
|
||
|
===== Dictionary ======
|
||
|
|
||
|
<note tip>A list of expressions, words, and their meanings is [[dict:index | here]].</note>
|
||
|
|
||
|
===== Links =====
|
||
|
|
||
|
==== Official Bash links ====
|
||
|
|
||
|
* [[http://tiswww.case.edu/php/chet/bash/bashtop.html|Chet Ramey's Bash page]] and its [[http://tiswww.case.edu/php/chet/bash/FAQ|FAQ]].
|
||
|
* [[http://www.gnu.org/software/bash/ | GNU Bash software page]]
|
||
|
* Official Bash mailing lists:
|
||
|
* **Bug reports**: <bug-bash@gnu.org> ([[http://mail.gnu.org/pipermail/bug-bash|archives]])
|
||
|
* **General questions**: <help-bash@gnu.org> ([[http://mail.gnu.org/pipermail/help-bash|archives]])
|
||
|
* Official Bash git repository:
|
||
|
* **Browse**: [[http://git.savannah.gnu.org/cgit/bash.git | cgit]]
|
||
|
* **Clone**: //git:// <nowiki>ssh://git.sv.gnu.org/srv/git/bash.git</nowiki> • //ssh:// <nowiki>ssh://git.sv.gnu.org/srv/git/bash.git</nowiki> • //http:// <nowiki>http://git.savannah.gnu.org/r/bash.git</nowiki>
|
||
|
|
||
|
==== Recommended Shell resources ====
|
||
|
|
||
|
* [[http://mywiki.wooledge.org/ | Greg's wiki]] - Greg Wooledge's (aka "greycat") wiki -- with **MASSIVE** information about Bash and UNIX(r) in general.
|
||
|
* [[http://mywiki.wooledge.org/BashFAQ | BashFAQ]] • [[http://mywiki.wooledge.org/BashGuide | BashGuide]] • [[http://mywiki.wooledge.org/BashPitfalls | BashPitfalls]] • [[http://mywiki.wooledge.org/BashSheet | BashSheet]]
|
||
|
* [[http://www.in-ulm.de/~mascheck/ | Sven Mascheck's pages]] - A goldmine of information. A must-read.
|
||
|
* [[https://www.mirbsd.org/ksh-chan.htm | #ksh channel page]] - #ksh Freenode channel page maintains a solid collection of recommended links.
|
||
|
* [[http://www.grymoire.com/Unix/ | The Grymoire Unix pages]] - Good scripting information, especially read the [[http://www.grymoire.com/Unix/Quote.html | quoting]] guide.
|
||
|
* [[http://www.shelldorado.com | Heiner's "Shell Dorado"]] - Tips, tricks, links - for every situation.
|
||
|
* [[http://pubs.opengroup.org/onlinepubs/9699919799/ | The Single Unix Specification (version 4, aka POSIX-2008)]]
|
||
|
* [[http://www.opengroup.org/austin/ | The Austin Group]] - [[ http://dir.gmane.org/gmane.comp.standards.posix.austin.general | List archives ]], [[ http://austingroupbugs.net/main_page.php | Bug tracker ]]
|
||
|
* [[http://cfajohnson.com/shell/cus-faq.html | comp.unix.shell FAQ]]
|
||
|
* [[https://tldp.org/LDP/abs/html/index.html | Advanced Bash-Scripting Guide]] - last update: 10 Mar 2014, but still very useful guide.
|
||
|
|
||
|
|
||
|
=== Documentation / Reference ===
|
||
|
|
||
|
* **Bash**: [[http://tiswww.case.edu/php/chet/bash/bash.html | man page]] [[http://tiswww.case.edu/php/chet/bash/bashref.html | info page]]
|
||
|
* **AT&T ksh**: [[http://www2.research.att.com/sw/download/man/man1/ksh88.html | ksh88]] [[http://www2.research.att.com/sw/download/man/man1/ksh.html | ksh93]]
|
||
|
* [[https://www.mirbsd.org/htman/i386/man1/mksh.htm | mksh]] (pdksh successor)
|
||
|
* [[http://zsh.sourceforge.net/Doc/ | zsh]]
|
||
|
* [[http://man7.org/linux/man-pages/man1/dash.1.html | dash]]
|
||
|
* [[http://heirloom.sourceforge.net/man/sh.1.html | Heirloom Bourne shell]]
|
||
|
* [[http://v6shell.org/man/osh.1.html | Thompson shell]]
|
||
|
|
||
|
==== Assorted interesting links ====
|
||
|
|
||
|
* [[http://www.in-ulm.de/~mascheck/bourne/ | History and development of the traditional Bourne shell family]] - very interesting and nice to read!
|
||
|
* [[http://www.computerworld.com.au/article/222764/-z_programming_languages_bash_bourne-again_shell | Interview with Chet Ramey]]
|
||
|
* [[http://www.computerworld.com.au/article/279011/a-z_programming_languages_sh | Interview with Steve Bourne]] • [[https://www.youtube.com/watch?v=2kEJoWfobpA | Stephen Bourne - BSDCan 2015 keynote]]
|
||
|
* [[http://news.slashdot.org/story/01/02/06/2030205/david-korn-tells-all | Interview with David Korn]]
|
||
|
* [[https://www.youtube.com/watch?v=bKzonnwoR2I | Kernighan on the Unix pipeline (computerphile video)]]
|
||
|
* Linux in general, with some shell related stuff: [[http://www.cyberciti.biz/ | nixCraft: Linux Tips, Hacks, Tutorials and Ideas]]
|
||
|
* Linux tutorials, guides and how-tos: [[https://www.rosehosting.com/blog/ | RoseHosting Blog]], [[https://www.rosehosting.com/blog/script-install-wordpress-on-a-debianubuntu-vps/ | bash script for installing WordPress]] and some [[https://www.rosehosting.com/blog/basic-shell-commands-after-putty-ssh-logon/ | basic shell commands]]
|
||
|
* [[misc:bashphorisms | Bashphorism list from the Bash IRC channel on Freenode]]
|
||
|
* [[misc:shell_humor | Some more or less funny commandline stuff]]
|
||
|
* [[https://thishosting.rocks/how-to-enable-ssh-on-ubuntu/ | How to Enable SSH on Ubuntu Tutorial]]
|
||
|
* [[https://linuxstans.com/how-to-make-an-awesome-custom-shell-with-zsh/ | How To Make an Awesome Custom Shell with ZSH]]
|
||
|
==== Bash Libraries (needs review) ====
|
||
|
|
||
|
* [[http://sourceforge.net/projects/oobash/ | An oo-style bash library for bash 4]] - provides tools for rapid script development and huge libraries.
|
||
|
* [[https://github.com/hornos/shf3 | General purpose shell framework for bash 4]] - in development.
|
||
|
* [[https://github.com/chilicuil/learn/blob/master/sh/lib| General purpose bash library for bash 4]] - active development
|
||
|
|
||
|
<div hide>
|
||
|
===== Most wanted =====
|
||
|
|
||
|
^Statistics for Month: **April 2012**^^^
|
||
|
|Rank | Views | Article |
|
||
|
^1 | 6833|[[howto:getopts_tutorial]] (March: 11663) |
|
||
|
^2 | 4025|[[commands:builtin:printf]] (March: 7079) |
|
||
|
^3 | 2861|[[syntax:quoting]] (March: 5730) |
|
||
|
^4 | 2854|[[commands:classictest]] (March: 6145) |
|
||
|
^5 | 2222|[[syntax:pe]] (March: 4540) |
|
||
|
^6 | 1760|[[scripting:posparams]] (March: 3591) |
|
||
|
^7 | 1249|[[bash4]] (March: --) |
|
||
|
^8 | 1212|[[howto:edit-ed]] (March: 2727) |
|
||
|
^9 | 1205|[[commands:builtin:read]] (March: --) |
|
||
|
^10 | 1182|[[howto:mutex]] (March: --) |
|
||
|
|
||
|
* "Total visits": 35144
|
||
|
* The overall "start" page is not counted
|
||
|
</div>
|
||
|
===== Contact =====
|
||
|
|
||
|
<WRAP column 40%>
|
||
|
Visit us in ''irc.freenode.net'', channel ''#bash'' ;-)
|
||
|
|
||
|
If you have critiques or suggestions, please feel free to send a mail using the contact form on the right. Note that there is a simple discussion option below every article.
|
||
|
|
||
|
Please also see the [[user:thebonsai:imprint | imprint]] if you have problems with the site and its contents (legality, ...)!
|
||
|
|
||
|
It also would be nice to drop a line when
|
||
|
* it helped you
|
||
|
* it didn't help you (something missing / unclear)
|
||
|
* you like it
|
||
|
* you don't like it
|
||
|
* you found mistakes / bugs
|
||
|
Simply: Reader's feedback
|
||
|
</WRAP>
|
||
|
|
||
|
<WRAP column 40%>
|
||
|
{{contact>subj=Wiki reader feedback}}
|
||
|
</WRAP>
|
||
|
<WRAP clear></WRAP></textarea>
|
||
|
<div id="wiki__editbar" class="editBar">
|
||
|
<div id="size__ctl">
|
||
|
</div>
|
||
|
</div>
|
||
|
</div></form>
|
||
|
</div>
|
||
|
</div><!-- /content --></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="small text-right">
|
||
|
|
||
|
<span class="docInfo">
|
||
|
<ul class="list-inline"><li><span class="iconify text-muted" data-icon="mdi:file-document-outline"></span> <span title="start.txt">start.txt</span></li><li><span class="iconify text-muted" data-icon="mdi:calendar"></span> Last modified: <span title="2022/09/30 12:54">2022/09/30 12:54</span></li><li class="text-muted">by <bdi>hirnsushi</bdi></li></ul> </span>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
</article>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
</main>
|
||
|
|
||
|
<footer id="dw__footer" class="dw-container py-5 dokuwiki container-fluid">
|
||
|
<hr/>
|
||
|
<div align="center">
|
||
|
<h3><a target="_blank" href="https://web.archive.org/web/20220930131429/http://www.performing-databases.com/">This site is supported by Performing Databases - your experts for database administration</a></h3>
|
||
|
</div>
|
||
|
<hr/>
|
||
|
<div align="center">
|
||
|
<script async src="//web.archive.org/web/20220930131429js_/https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||
|
<!-- BHORG_BOTTOM -->
|
||
|
<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-4658830517838678" data-ad-slot="1603598940"></ins>
|
||
|
<script>
|
||
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
||
|
</script>
|
||
|
</div>
|
||
|
|
||
|
<!-- footer -->
|
||
|
<div class="dw-container small container-fluid mx-5">
|
||
|
|
||
|
|
||
|
<div class="footer-dw-title">
|
||
|
<div class="media">
|
||
|
<div class="media-left">
|
||
|
<img src="/web/20220930131429im_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/images/logo.png" alt="Bash Hackers Wiki" class="media-object" style="height:32px"/>
|
||
|
</div>
|
||
|
<div class="media-body">
|
||
|
<div class="row">
|
||
|
<div class="col-sm-2">
|
||
|
<h4 class="media-heading">Bash Hackers Wiki</h4>
|
||
|
<p>
|
||
|
</p>
|
||
|
</div>
|
||
|
<div class="col-sm-10">
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="footer-license row">
|
||
|
<hr/>
|
||
|
<div id="dw__license" class="col-sm-6">
|
||
|
<p>
|
||
|
<a href="https://web.archive.org/web/20220930131429/http://www.gnu.org/licenses/fdl-1.3.html" title="GNU Free Documentation License 1.3" target="" itemscope itemtype="http://schema.org/CreativeWork" itemprop="license" rel="license" class="license"><img src="/web/20220930131429im_/https://wiki.bash-hackers.org/lib/tpl/bootstrap3/images/license/gnufdl.png" width="24" height="24" alt="gnufdl"/> </a> </p>
|
||
|
<p class="small">
|
||
|
Except where otherwise noted, content on this wiki is licensed under the following license:<br/><a href="https://web.archive.org/web/20220930131429/http://www.gnu.org/licenses/fdl-1.3.html" title="GNU Free Documentation License 1.3" target="" itemscope itemtype="http://schema.org/CreativeWork" itemprop="license" rel="license" class="license">GNU Free Documentation License 1.3</a> </p>
|
||
|
</div>
|
||
|
|
||
|
<div class="col-sm-6">
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
<!-- /footer -->
|
||
|
</footer>
|
||
|
|
||
|
<a href="#dokuwiki__top" class="back-to-top hidden-print btn btn-default" title="skip to content" accesskey="t">
|
||
|
<span class="iconify" data-icon="mdi:chevron-up"></span> </a>
|
||
|
|
||
|
<div id="screen__mode"> <span class="visible-xs-block"></span>
|
||
|
<span class="visible-sm-block"></span>
|
||
|
<span class="visible-md-block"></span>
|
||
|
<span class="visible-lg-block"></span>
|
||
|
</div>
|
||
|
|
||
|
<img src="/web/20220930131429im_/https://wiki.bash-hackers.org/lib/exe/indexer.php?id=start&1664543683" width="2" height="1" alt=""/>
|
||
|
</div>
|
||
|
|
||
|
</body>
|
||
|
</html>
|
||
|
<!--
|
||
|
FILE ARCHIVED ON 13:14:29 Sep 30, 2022 AND RETRIEVED FROM THE
|
||
|
INTERNET ARCHIVE ON 11:36:06 Apr 14, 2023.
|
||
|
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
|
||
|
|
||
|
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
|
||
|
SECTION 108(a)(3)).
|
||
|
-->
|
||
|
<!--
|
||
|
playback timings (ms):
|
||
|
captures_list: 97.007 (11)
|
||
|
exclusion.robots: 0.226
|
||
|
exclusion.robots.policy: 0.215
|
||
|
cdx.remote: 0.075
|
||
|
esindex: 0.011
|
||
|
LoadShardBlock: 60.002 (3)
|
||
|
PetaboxLoader3.datanode: 95.207 (4)
|
||
|
load_resource: 92.469
|
||
|
PetaboxLoader3.resolve: 52.008
|
||
|
-->
|