{"id":2599,"date":"2020-12-13T13:53:38","date_gmt":"2020-12-13T12:53:38","guid":{"rendered":"https:\/\/www.picademie.nl\/?p=2599"},"modified":"2020-12-13T14:23:26","modified_gmt":"2020-12-13T13:23:26","slug":"shebang-usr-bin-env-python","status":"publish","type":"post","link":"https:\/\/www.picademie.nl\/index.php\/2020\/12\/13\/shebang-usr-bin-env-python\/","title":{"rendered":"Shebang"},"content":{"rendered":"\n<p><strong>Wat is een shebang-regel?<\/strong><\/p>\n\n\n\n<p>De shebang-regel bevindt zich aan het begin van elk script. De regel begint altijd met &#8220;<strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">#!<\/span><\/strong>&#8221; en identificeert daarmee het bestand <span class=\"has-inline-color has-black-color\">als script. De shebang-regel bevat het pad naar de juiste interpreter, bijvoorbeel<\/span>d Python.<\/p>\n\n\n\n<p><span class=\"has-inline-color has-vivid-red-color\"><strong>#! \/ usr \/ bin \/ env python<\/strong><\/span><\/p>\n\n\n\n<p>De eerste regel in het script is dus de &#8220;shebang&#8221; regel. Wanneer je een bestand uitvoert vanuit de shell probeert de shell het bestand uit te voeren met de opgegeven opdracht op de shebang regel.<\/p>\n\n\n\n<p>Het uitroepteken <strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">!<\/span><\/strong> is aangeduid als de &#8220;<span class=\"has-inline-color has-vivid-cyan-blue-color\"><strong>bang<\/strong><\/span>&#8220;. Met de <strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">#<\/span><\/strong> wordt het ook wel de &#8220;<span class=\"has-inline-color has-vivid-cyan-blue-color\"><strong>hashbang<\/strong><\/span>&#8221; genoemd. Het hash-teken wordt gebruikt omdat het in de meeste programmeertalen bij scripts een commentaar definieert. De shebang-regel wordt herkend en bij de uitvoering standaard genegeerd door de scripttaal.<\/p>\n\n\n\n<p>De shebang-regel is uitgevonden omdat scripts niet worden gecompileerd, daarmee is het geen uitvoerbare bestand, maar het script moet toch &#8220;draaien&#8221;. De shebang regel geeft precies aan hoe een script moet worden uitgevoerd. Met andere woorden, deze shebang regel zegt dat, wanneer bijvoorbeeld\u00a0<span class=\"has-inline-color has-vivid-cyan-blue-color\">.\/basics.py<\/span> getypt is, het script door de <strong>shell <\/strong>wordt uitgevoerd<\/p>\n\n\n\n<p><code> \/usr\/bin\/env python basics.py<\/code><\/p>\n\n\n\n<p>We gebruiken<\/p>\n\n\n\n<p> \u00a0 <code>#!\/usr\/bin\/env python<\/code><\/p>\n\n\n\n<p>in plaats van <\/p>\n\n\n\n<p>\u00a0 <code>#!\/usr\/bin\/python<\/code><\/p>\n\n\n\n<p>omdat we een absoluut pad naar een programma moeten specificeren, en    <\/p>\n\n\n\n<p> <code>\/usr\/bin\/env<\/code><\/p>\n\n\n\n<p>is een hulpprogramma dat het pad van de gebruiker gebruikt om een \u200b\u200bapplicatie uit te voeren, in dit geval <strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">python<\/span><\/strong>. <\/p>\n\n\n\n<p><strong>Het juiste gebruik voor Python 3-scripts is<\/strong>:<\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-black-color\"> <code>#!\/usr\/bin\/env python3<\/code><\/span><\/strong><\/p>\n\n\n\n<p>De reden voor deze aanbevelingen, gegeven in\u00a0<a href=\"https:\/\/www.python.org\/dev\/peps\/pep-0394\/#recommendation\">PEP 394<\/a>\u00a0, is dat\u00a0<code>python<\/code> in de notatie <code>python2 <\/code>of\u00a0<code>python3 <\/code>op verschillende systemen\u00a0kunnen verwijzen\u00a0.\u00a0In de meeste Linux\/Debian\/Raspbian distributies verwijst het momenteel naar\u00a0<code>python2<\/code>. Op een gegeven moment zal dit veranderen.<\/p>\n\n\n\n<p><em>Have A Nice Day!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Wat is een shebang-regel? De shebang-regel bevindt zich aan het begin van elk script. De regel begint altijd met &#8220;#!&#8221; en identificeert daarmee het bestand <a class=\"mh-excerpt-more\" href=\"https:\/\/www.picademie.nl\/index.php\/2020\/12\/13\/shebang-usr-bin-env-python\/\" title=\"Shebang\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":2614,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2599","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_featured_media_url":"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/12\/shebang2.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts\/2599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/comments?post=2599"}],"version-history":[{"count":0,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts\/2599\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/media\/2614"}],"wp:attachment":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/media?parent=2599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/categories?post=2599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/tags?post=2599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}