• 02-10-2024, 05:51:27
    #1
    Aşağıda gif olarak sorunumun görselini bıraktım fakat bir de yazılı anlatayım ondan sonra gifi izleyin isterseniz

    sorunum menüden herhangi bir kurulum setap'ı oluşturmak istediğimde adımları yazdırıyorum fakat bitiş kısmında script benden bir cevap bekliyormuşçasına hatalı giriş ekranına aktarıyor bunu nasıl çözebilirim?

    not bash scriptleri konusunda tecrübem yok sadece can sıkıntısından proje geliştiriyorum





    O kısma ait kodlar
    teamspeak_install_menu() {
        clear;
        get_ascii;
        center_text " ";
        center_text "${WHITE}Teamspeak 3 Sunucu Kurulum başladı";
        center_text " ";
        center_text "${WHITE}Lütfen bekleyin...";
        center_text " ";
        print_separator "bottom";
        sleep 2;
        # Teamspeak 3 kurulumu
        # Teamspeak 3 sunucu dosyasını indir
        local lastest_ts3_url=$(curl -s ${MAIN_SERVER}/linkler?istenen=ts3latest);
        sleep 1 & wget -q $lastest_ts3_url;
        # Teamspeak 3 dosyasını çıkart
        sleep 2 & unzip -q teamspeak3-server_linux_amd64.zip;
        pid1=$!
        wait $pid1;
        # Teamspeak sunucusu için kullanıcı oluştur
        teamspeakuser="teamspeak";
        sleep 2 & adduser --disabled-login --gecos "" $teamspeakuser;
        pid2=$!
        wait $pid2;
        # Teamspeak sunucusu için dizin oluştur
        sleep 2 & mkdir /opt/$teamspeakuser;
        pid3=$!
        wait $pid3;
        # Teamspeak sunucusunu /opt/teamspeak3 dizinine taşı
        sleep 2 & mv teamspeak3-server_linux_amd64/* /opt/$teamspeakuser;
        pid4=$!
        wait $pid4;
        # Teamspeak sunucusu için dizin izinlerini ayarla
        sleep 2 & chown -R $teamspeakuser:$teamspeakuser /opt/$teamspeakuser;
        pid5=$!
        wait $pid5;
        # Teamspeak sunucusu için dizin izinlerini ayarla
        sleep 1 & chmod +x /opt/$teamspeakuser/ts3server_startscript.sh;
        pid6=$!
        wait $pid6;
        sleep 1 & chmod +x /opt/$teamspeakuser/AccountingServerEmulator-Linux;
        pid7=$!
        wait $pid7;
        # Teamspeak sunucusu için hosts dosyasını düzenle
        # 127.0.0.1 accounting.teamspeak.com
        # 127.0.0.1 backupaccounting.teamspeak.com
        # 127.0.0.1 ipcheck.teamspeak.com
        
        # bunlara göre hosts dosyasını düzenle
        sleep 1 & echo "127.0.0.1 accounting.teamspeak.com" | sudo tee -a /etc/hosts
        pid8=$!
        wait $pid8;
        sleep 1 & echo "127.0.0.1 backupaccounting.teamspeak.com" | sudo tee -a /etc/hosts
        pid9=$!
        wait $pid9;
        sleep 1 & echo "127.0.0.1 ipcheck.teamspeak.com" | sudo tee -a /etc/hosts
        pid10=$!
        wait $pid10;
        # Teamspeak sunucusunu başlat
        sleep 2 & su - $teamspeakuser -c "/opt/$teamspeakuser/AccountingServerEmulator-Linux";
        pid11=$!
        wait $pid11;
        sleep 2 & su - $teamspeakuser -c "/opt/$teamspeakuser/ts3server_startscript.sh start";
        pid12=$!
        wait $pid12;
    
        # Teamspeak sunucusu için token, port ve yatqa giriş bilgilerini al
        sleep 2 & local TS3_TOKEN=$(cat /opt/$teamspeakuser/logs/ts3server_*.log | grep token | awk '{print $5}');
        pid13=$!
        wait $pid13;
        sleep 2 & local TS3_PORT=$(cat /opt/$teamspeakuser/logs/ts3server_*.log | grep token | awk '{print $8}');
        pid14=$!
        wait $pid14;
        sleep 2 & local TS3_YATQA_PASS=$(cat /opt/$teamspeakuser/logs/ts3server_*.log | grep token | awk '{print $5}');
        pid15=$!
        wait $pid15;
        # Teamspeak yatqa giriş bilgilerini terminalden ekrana yazdır
        clear;
        get_ascii;
        center_text " ";
        center_text "${GREEN}Teamspeak 3 Sunucu Kurulumu Başarılı!";
        center_text "${WHITE}Teamspeak 3 sunucu bilgileri aşağıda yer almaktadır.";
        center_text " ";
        print_separator "middle";
        center_text " ";
        center_text "${WHITE}Sunucu Adresi: ${ORANGE}"${IP}${NC};
        center_text "${WHITE}Sunucu Portu: ${ORANGE}9987${NC}";
        center_text "${WHITE}Yönetici Kullanıcı Adı: ${ORANGE}serveradmin${NC}";
        center_text "${WHITE}Yatqa Giriş Şifresi: ${ORANGE}${TS3_YATQA_PASS}${NC}";
        center_text "${WHITE}Token: ${ORANGE}${TS3_TOKEN}${NC}";
        center_text " ";
        print_separator "bottom";
        # sleep 2;
        # teamspeak_menu;
    }
  • 02-10-2024, 06:02:02
    #2
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Platin üye
    teamspeak_install_menu() {
    clear
    get_ascii
    center_text " "
    center_text "${WHITE}Teamspeak 3 Sunucu Kurulum başladı"
    center_text " "
    center_text "${WHITE}Lütfen bekleyin..."
    center_text " "
    print_separator "bottom"
    sleep 2

    local lastest_ts3_url=$(curl -s ${MAIN_SERVER}/linkler?istenen=ts3latest)
    wget -q "$lastest_ts3_url" -O teamspeak3-server_linux_amd64.zip
    unzip -q teamspeak3-server_linux_amd64.zip

    teamspeakuser="teamspeak"
    adduser --disabled-login --gecos "" "$teamspeakuser"

    mkdir -p /opt/$teamspeakuser
    mv teamspeak3-server_linux_amd64/* /opt/$teamspeakuser/

    chown -R $teamspeakuser:$teamspeakuser /opt/$teamspeakuser
    chmod +x /opt/$teamspeakuser/ts3server_startscript.sh
    chmod +x /opt/$teamspeakuser/AccountingServerEmulator-Linux

    {
    echo "127.0.0.1 accounting.teamspeak.com"
    echo "127.0.0.1 backupaccounting.teamspeak.com"
    echo "127.0.0.1 ipcheck.teamspeak.com"
    } | sudo tee -a /etc/hosts >/dev/null

    su - $teamspeakuser -c "/opt/$teamspeakuser/AccountingServerEmulator-Linux"
    su - $teamspeakuser -c "/opt/$teamspeakuser/ts3server_startscript.sh start"

    local TS3_LOG_FILE=$(ls -t /opt/$teamspeakuser/logs/ts3server_*.log | head -n1)
    local TS3_TOKEN=$(grep -oP 'token=KS+' "$TS3_LOG_FILE")
    local TS3_PORT=$(grep -oP 'port=Kd+' "$TS3_LOG_FILE")
    local TS3_YATQA_PASS=$(grep -oP 'password="K[^"]+' "$TS3_LOG_FILE")

    clear
    get_ascii
    center_text " "
    center_text "${GREEN}Teamspeak 3 Sunucu Kurulumu Başarılı!"
    center_text "${WHITE}Teamspeak 3 sunucu bilgileri aşağıda yer almaktadır."
    center_text " "
    print_separator "middle"
    center_text " "
    center_text "${WHITE}Sunucu Adresi: ${ORANGE}${IP}${NC}"
    center_text "${WHITE}Sunucu Portu: ${ORANGE}${TS3_PORT:-9987}${NC}"
    center_text "${WHITE}Yönetici Kullanıcı Adı: ${ORANGE}serveradmin${NC}"
    center_text "${WHITE}Yatqa Giriş Şifresi: ${ORANGE}${TS3_YATQA_PASS}${NC}"
    center_text "${WHITE}Token: ${ORANGE}${TS3_TOKEN}${NC}"
    center_text " "
    print_separator "bottom"

    read -n 1 -s -r -p "Ana menüye dönmek için herhangi bir tuşa basın..."
    teamspeak_menu
    }
  • 02-10-2024, 06:15:24
    #3
    bugra_gkaya adlı üyeden alıntı: mesajı görüntüle
    teamspeak_install_menu() {
    clear
    get_ascii
    center_text " "
    center_text "${WHITE}Teamspeak 3 Sunucu Kurulum başladı"
    center_text " "
    center_text "${WHITE}Lütfen bekleyin..."
    center_text " "
    print_separator "bottom"
    sleep 2

    local lastest_ts3_url=$(curl -s ${MAIN_SERVER}/linkler?istenen=ts3latest)
    wget -q "$lastest_ts3_url" -O teamspeak3-server_linux_amd64.zip
    unzip -q teamspeak3-server_linux_amd64.zip

    teamspeakuser="teamspeak"
    adduser --disabled-login --gecos "" "$teamspeakuser"

    mkdir -p /opt/$teamspeakuser
    mv teamspeak3-server_linux_amd64/* /opt/$teamspeakuser/

    chown -R $teamspeakuser:$teamspeakuser /opt/$teamspeakuser
    chmod +x /opt/$teamspeakuser/ts3server_startscript.sh
    chmod +x /opt/$teamspeakuser/AccountingServerEmulator-Linux

    {
    echo "127.0.0.1 accounting.teamspeak.com"
    echo "127.0.0.1 backupaccounting.teamspeak.com"
    echo "127.0.0.1 ipcheck.teamspeak.com"
    } | sudo tee -a /etc/hosts >/dev/null

    su - $teamspeakuser -c "/opt/$teamspeakuser/AccountingServerEmulator-Linux"
    su - $teamspeakuser -c "/opt/$teamspeakuser/ts3server_startscript.sh start"

    local TS3_LOG_FILE=$(ls -t /opt/$teamspeakuser/logs/ts3server_*.log | head -n1)
    local TS3_TOKEN=$(grep -oP 'token=KS+' "$TS3_LOG_FILE")
    local TS3_PORT=$(grep -oP 'port=Kd+' "$TS3_LOG_FILE")
    local TS3_YATQA_PASS=$(grep -oP 'password="K[^"]+' "$TS3_LOG_FILE")

    clear
    get_ascii
    center_text " "
    center_text "${GREEN}Teamspeak 3 Sunucu Kurulumu Başarılı!"
    center_text "${WHITE}Teamspeak 3 sunucu bilgileri aşağıda yer almaktadır."
    center_text " "
    print_separator "middle"
    center_text " "
    center_text "${WHITE}Sunucu Adresi: ${ORANGE}${IP}${NC}"
    center_text "${WHITE}Sunucu Portu: ${ORANGE}${TS3_PORT:-9987}${NC}"
    center_text "${WHITE}Yönetici Kullanıcı Adı: ${ORANGE}serveradmin${NC}"
    center_text "${WHITE}Yatqa Giriş Şifresi: ${ORANGE}${TS3_YATQA_PASS}${NC}"
    center_text "${WHITE}Token: ${ORANGE}${TS3_TOKEN}${NC}"
    center_text " "
    print_separator "bottom"

    read -n 1 -s -r -p "Ana menüye dönmek için herhangi bir tuşa basın..."
    teamspeak_menu
    }
    çözüm için teşekkürler

    sorun tam olarak benim geri yönlendirmek için bir satır eklememiş olmam mı
  • 02-10-2024, 06:17:30
    #4
    Platin üye
    tuleyman adlı üyeden alıntı: mesajı görüntüle
    çözüm için teşekkürler

    sorun tam olarak benim geri yönlendirmek için bir satır eklememiş olmam mı

    birkaç şey daha var. çok fazla sleep kullanmıssın onları temizledim.
    $variable yerine "$variable" olarak düzenledim.
    heh birde wget komutuna -O ekledim
  • 02-10-2024, 06:19:30
    #5
    bugra_gkaya adlı üyeden alıntı: mesajı görüntüle
    birkaç şey daha var. çok fazla sleep kullanmıssın onları temizledim.
    $variable yerine "$variable" olarak düzenledim.
    heh birde wget komutuna -O ekledim
    ben tuşlama yapmış gibi algılayıp ana menüye yönlendirme sebebi neymiş peki bash sicriptinden anlamadığım için öğrenmek istiyorum hatamı
  • 02-10-2024, 06:23:19
    #6
    Platin üye
    tuleyman adlı üyeden alıntı: mesajı görüntüle
    ben tuşlama yapmış gibi algılayıp ana menüye yönlendirme sebebi neymiş peki bash sicriptinden anlamadığım için öğrenmek istiyorum hatamı
    sonuçları gösterdikten hemen sonra teamspeak_menu fonksiyonunu tetikleniyor kullanıcı bilgileri okuyamadan veya herhangi bir tuşa basmadan anasayfa döndürüyor. bu yüzden o aralığa read ekledim ki senden bir yanıt gelsin
  • 02-10-2024, 06:41:45
    #7
    bugra_gkaya adlı üyeden alıntı: mesajı görüntüle
    sonuçları gösterdikten hemen sonra teamspeak_menu fonksiyonunu tetikleniyor kullanıcı bilgileri okuyamadan veya herhangi bir tuşa basmadan anasayfa döndürüyor. bu yüzden o aralığa read ekledim ki senden bir yanıt gelsin
    tamamdır çok teşekkür ederim yardımın için