# Sunucuda Betik Çalıştırmak

## runScript fonksiyonu

Sunucumuzda betik çalıştırmak için runScript yardımcı fonksiyonumuzu kullanmaktayız. Bu fonksiyon eklentinin eklendiği sistem üzerinde Python, Bash ve Powershell betiklerini çalıştırmamızı sağlamaktadır.

### Gerekli Ortamı Hazırlama

runScript fonksiyonunun çalışabilmesi için eklenti dizininiz altında bir `scripts` klasörü oluşturmamız ve betikleri bu klasörün içerisine yüklememiz gerekmektedir.&#x20;

![Betiklerin Bulunduğu Klasör](/files/-Mg4cMu4E6zfld5zl4g_)

### Kullanım Örneği

runScript fonksiyonunu kullanabilmek için bir controller oluşturmamız gerekmektedir. Bu controlleri doğru şekilde oluşturup rota tanımlamasını doğru şekilde yaptığımızı varsayalım.

```php
public function run()
{
    // runScript function
    // 1st parameter: filename under scripts folder STRING
    // 2nd parameter: parameters STRING
    // 3nd parameter: run as sudo BOOL
    $script = runScript("example.py", "", false);
    return respond($script, 200);
}
```

| Parametre         | Açıklama                                   | Veri Tipi |
| ----------------- | ------------------------------------------ | --------- |
| Birinci Parametre | scripts klasörü altındaki dosya adını alır | String    |
| İkinci Parametre  | scripte göndereceğimiz argümanlar          | String    |
| Üçüncü Parametre  | sudo olarak mı çalıştırılmalıdır?          | Boolean   |

#### Örnek Python Kullanımı

Controllerda tanımlamalarımızı yapıp ardından JavaScript tarafında request yardımcı fonksiyonumuz ile çağrımızı yaptığımızda betik çıktımızı alabiliriz.&#x20;

```python
#!/usr/bin/python3
print("Hello world!")
```

Bu Python betiğini yukarıdaki şekilde controller kısmında çağırıp önyüz çağrısı sonucu şu tarz bir çıktı almaktayız.

![Betik Çıktısı](/files/-Mg4gr34mdqsUubp0ZjQ)

**Bu örneği PHP 7.3 + OOP Training eklenti şablonunda bulabilirsiniz.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/eklenti-gelistirme/gelistirme/sunucuda-betik-calistirma.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
