Daha önce yazdıysanız, indirdiyseniz veya açtıysanız, bash betiği, elbette herkesin ne anlama geldiğini ve neden oraya konması gerektiğini bilmediği biraz garip bir ilk satırla karşılaştınız. #!/bin/bash'tan bahsediyorum. Peki, bu yazıda ne denildiği, ne işe yaradığı, her zaman aynı olup olmadığı veya bazı değişiklikler olup olmadığı hakkında tüm detayları öğrenebileceksiniz.
yorumlanmış dil nedir?
Un yorumlanmış programlama dili Çalıştırmak için derlenmesi gerekmez, ancak kodu makine tarafından anlaşılabilir talimatlara çevirebilen bir programdan başka bir şey olmayan bir yorumlayıcı kullanılarak doğrudan kaynak koddan çalıştırılabilir. Bu bazı avantajlar sağlar:
- Çoklu platform: İkili olmadığı için, değişiklik yapılmadan çeşitli platformlarda çalıştırılabilir, bu, kodun herhangi bir sistemde çalışmasını istiyorsak açık bir avantajdır.
- Taşınabilirlik: yorumlayıcı platforma hazırsa, yorumlanan komut dosyası veya dil o platformda çalışır.
Ancak, bu yorumlanan dillerin de dezavantajları:
- Biri, verim, çünkü çalışması için her zaman arka planda çalışan tercümana ihtiyaç duyarlar.
- kendi bağımlılık tercümanın.
Bir örnek olarak yorumlanmış diller Java, C#, JavaScript, Visual Basic .NET ve VBScript, Perl, Python, Lips, Ruby, PHP, ASP, vb. gibi bazılarından söz edilebilir.
Senaryo nedir?
Un komut dosyası sadece koddur bir görevi gerçekleştirmek için yorumlanmış bir programlama dili ile oluşturulur. Genellikle, sırayla yürütülen bir komut veya emir olayı içeren basit bir programdır.
#!/bin/bash (şebang) nedir?
Son olarak, bu makalenin konusu, ünlü #!/bin/bash, Unix dilinde Shebang olarak bilinir. Bu en yaygın olanı olmasına rağmen, betiğin çalışması için onu kullanmak her zaman gerekli değildir. #!/usr/bin/env python3, #!/bin/sh, vb. gibi diğer projelerin de kendi shebang'ları vardır.
Amacı shebang, betiğin çalıştırıldığı her yerde bulunabilmesi için kabuğun tam yolunu veriyor. Ayrıca, gördüğünüz gibi, içinde yalnızca yol değil, aynı zamanda yorumlayıcı, bu durumlarda Bash, Python 3 ve çalışılacak diğer tercümanlar belirlenir.