{"id":1607,"date":"2025-04-18T16:08:12","date_gmt":"2025-04-18T09:08:12","guid":{"rendered":"https:\/\/www.linuxid.net\/post\/?p=1607"},"modified":"2025-04-18T16:08:12","modified_gmt":"2025-04-18T09:08:12","slug":"mengenal-perintah-source-di-bash-terminal-linux","status":"publish","type":"post","link":"https:\/\/www.linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/","title":{"rendered":"Mengenal Perintah Source di Bash Terminal Linux"},"content":{"rendered":"<p>Perintah <code>source<\/code>\u00a0berfungsi untuk membaca dan mengeksekusi perintah dari file yang ditentukan di lingkungan shell saat ini. Perintah <code>source\u00a0<\/code>berguna untuk memuat fungsi, variabel, dan file konfigurasi ke dalam skrip shell.<\/p>\n<p><code>source<\/code> adalah shell bawaan di Bash dan shell populer lainnya yang digunakan dalam sistem operasi Linux dan UNIX. Perilakunya mungkin sedikit berbeda dari shell ke shell.<\/p>\n<h2>Sintaks Perintah Source<\/h2>\n<p>Sintaks untuk perintah sumber adalah sebagai berikut:<\/p>\n<pre>source FILENAME [ARGUMENTS]&#13;\n. FILENAME [ARGUMENTS]<\/pre>\n<ul>\n<li><code>source<\/code>\u00a0dan\u00a0<code>.<\/code>\u00a0(titik) adalah perintah yang sama.<\/li>\n<li>Jika <code>FILENAME<\/code>bukan path lengkap ke file, perintah akan mencari file di direktori yang ditentukan dalam <a href=\"https:\/\/www.linuxid.net\/post\/shell-environment-variable-di-linux-dan-unix\/\">environment variable<\/a> <code>$PATH<\/code>. Jika file tidak ditemukan di <code>$PATH<\/code>, maka perintah akan mencari file di direktori kerja saat ini.<\/li>\n<li>Jika ada <code>ARGUMEN<\/code> yang diberikan, mereka akan menjadi parameter posisi untuk <code>FILENAME<\/code>.<\/li>\n<li>Jika <code>FILENAME<\/code> ada, perintah <code>source<\/code>\u00a0akan keluar dengan kode <code>0<\/code>, namun jika file tidak ditemukan, output akan muncul 1.<\/li>\n<\/ul>\n<h2>Contoh Perintah Source<\/h2>\n<p>Pada bagian ini, kita akan melihat beberapa contoh dasar tentang cara menggunakan perintah <code>source<\/code>.<\/p>\n<h3>Function Source<\/h3>\n<p>Jika Anda memiliki skrip shell yang menggunakan functions yang sama, Anda dapat mengekstraknya dalam file terpisah dan kemudian source file itu di skrip Anda.<\/p>\n<p>Dalam contoh ini, kami akan membuat file yang menyertakan fungsi bash yang memeriksa apakah pengguna yang menjalankan skrip adalah user root atau bukan. Jika yang mengeksekusi perintah tersebut bukan root, maka output akan menampilkan pesan dan keluar dari skrip.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">check_root () {&#13;\n  if [[ $EUID -ne 0 ]]; then&#13;\n    echo \"Script harus dijalankan oleh root\" &#13;\n    exit 1&#13;\n  fi&#13;\n}<\/pre>\n<p>Sekarang di setiap skrip Anda yang perlu dijalankan hanya oleh pengguna root, cukup source file <code>functions.sh<\/code> dan panggil function menggunakan:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash&#13;\n&#13;\nsource functions.sh&#13;\ncheck_root&#13;\n&#13;\necho \"Saya User root\"<\/pre>\n<p>Jika Anda menjalankan skrip di atas sebagai pengguna non-root, skrip akan mencetak \u201c<em>Script harus dijalankan oleh root<\/em>\u201d dan mengakhiri perintah.<\/p>\n<p>Keuntungan dari pendekatan ini, skrip Anda akan lebih kecil dan lebih mudah dibaca, Anda dapat menggunakan kembali file fungsi yang sama kapan pun diperlukan dan jika perlu memodifikasi fungsi Anda hanya akan mengedit satu file.<\/p>\n<h2>File Konfigurasi Bash<\/h2>\n<p>Dengan perintah <code>source<\/code>, Anda juga dapat membaca variabel dari file. Variabel harus ditetapkan menggunakan sintaks Bash, <code>VARIABLE=VALUE<\/code>.<\/p>\n<p>Mari kita buat file konfigurasi pengujian:<\/p>\n<pre>sudo nano config.sh<\/pre>\n<pre>VAR1=\"foo\"&#13;\nVAR2=\"bar\"<\/pre>\n<p>Di skrip bash, Anda gunakan perintah source untuk membaca file konfigurasi:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash&#13;\n&#13;\nsource config.sh&#13;\n&#13;\necho \"VAR1 is $VAR1\"&#13;\necho \"VAR2 is $VAR2\"<\/pre>\n<p>Jika Anda menjalankan skrip, hasilnya akan terlihat seperti ini:<\/p>\n<pre>VAR1 is foo&#13;\nVAR2 is bar<\/pre>\n<h2>Kesimpulan<\/h2>\n<p>Dalam panduan ini, Anda telah belajar cara menggunakan perintah source builtin di skrip shell.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Perintah source\u00a0berfungsi untuk membaca dan mengeksekusi perintah dari file yang ditentukan di lingkungan shell saat&hellip;<\/p>\n","protected":false},"author":2,"featured_media":1608,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[72],"class_list":["post-1607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-terminal","tag-linux-terminal"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mengenal Perintah Source di Bash Terminal Linux - Linuxid<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mengenal Perintah Source di Bash Terminal Linux - Linuxid\" \/>\n<meta property=\"og:description\" content=\"Perintah source\u00a0berfungsi untuk membaca dan mengeksekusi perintah dari file yang ditentukan di lingkungan shell saat&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"Linuxid\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-18T09:08:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"530\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"xsand\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"xsand\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/\",\"url\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/\",\"name\":\"Mengenal Perintah Source di Bash Terminal Linux - Linuxid\",\"isPartOf\":{\"@id\":\"https:\/\/linuxid.net\/post\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg\",\"datePublished\":\"2025-04-18T09:08:12+00:00\",\"author\":{\"@id\":\"https:\/\/linuxid.net\/post\/#\/schema\/person\/e6642d26041eab9fef2677e204e89d79\"},\"breadcrumb\":{\"@id\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#primaryimage\",\"url\":\"https:\/\/www.linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg\",\"contentUrl\":\"https:\/\/www.linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg\",\"width\":1000,\"height\":530},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Beranda\",\"item\":\"https:\/\/linuxid.net\/post\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mengenal Perintah Source di Bash Terminal Linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/linuxid.net\/post\/#website\",\"url\":\"https:\/\/linuxid.net\/post\/\",\"name\":\"Linuxid\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/linuxid.net\/post\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/linuxid.net\/post\/#\/schema\/person\/e6642d26041eab9fef2677e204e89d79\",\"name\":\"xsand\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/linuxid.net\/post\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc8513768e15fa0758099a0ba5b898f3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc8513768e15fa0758099a0ba5b898f3?s=96&d=mm&r=g\",\"caption\":\"xsand\"},\"url\":\"https:\/\/www.linuxid.net\/post\/author\/xsand\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mengenal Perintah Source di Bash Terminal Linux - Linuxid","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/","og_locale":"id_ID","og_type":"article","og_title":"Mengenal Perintah Source di Bash Terminal Linux - Linuxid","og_description":"Perintah source\u00a0berfungsi untuk membaca dan mengeksekusi perintah dari file yang ditentukan di lingkungan shell saat&hellip;","og_url":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/","og_site_name":"Linuxid","article_published_time":"2025-04-18T09:08:12+00:00","og_image":[{"width":1000,"height":530,"url":"https:\/\/linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg","type":"image\/jpeg"}],"author":"xsand","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"xsand","Estimasi waktu membaca":"2 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/","url":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/","name":"Mengenal Perintah Source di Bash Terminal Linux - Linuxid","isPartOf":{"@id":"https:\/\/linuxid.net\/post\/#website"},"primaryImageOfPage":{"@id":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#primaryimage"},"image":{"@id":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/www.linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg","datePublished":"2025-04-18T09:08:12+00:00","author":{"@id":"https:\/\/linuxid.net\/post\/#\/schema\/person\/e6642d26041eab9fef2677e204e89d79"},"breadcrumb":{"@id":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#primaryimage","url":"https:\/\/www.linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg","contentUrl":"https:\/\/www.linuxid.net\/post\/wp-content\/uploads\/2025\/03\/Mengenal-Perintah-Source-di-Bash-Terminal-Linux.jpg","width":1000,"height":530},{"@type":"BreadcrumbList","@id":"https:\/\/linuxid.net\/post\/mengenal-perintah-source-di-bash-terminal-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Beranda","item":"https:\/\/linuxid.net\/post\/"},{"@type":"ListItem","position":2,"name":"Mengenal Perintah Source di Bash Terminal Linux"}]},{"@type":"WebSite","@id":"https:\/\/linuxid.net\/post\/#website","url":"https:\/\/linuxid.net\/post\/","name":"Linuxid","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/linuxid.net\/post\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/linuxid.net\/post\/#\/schema\/person\/e6642d26041eab9fef2677e204e89d79","name":"xsand","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/linuxid.net\/post\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cc8513768e15fa0758099a0ba5b898f3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc8513768e15fa0758099a0ba5b898f3?s=96&d=mm&r=g","caption":"xsand"},"url":"https:\/\/www.linuxid.net\/post\/author\/xsand\/"}]}},"_links":{"self":[{"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/posts\/1607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/comments?post=1607"}],"version-history":[{"count":1,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/posts\/1607\/revisions"}],"predecessor-version":[{"id":3074,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/posts\/1607\/revisions\/3074"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/media\/1608"}],"wp:attachment":[{"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/media?parent=1607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/categories?post=1607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxid.net\/post\/wp-json\/wp\/v2\/tags?post=1607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}