Atualmente estou escrevendo um script bash. Eu tenho dois comandos if. Eu realmente não consigo descrever o problema aqui, então vou descrever meu problema em códigos
#!/bin/bash
echo -e "What is the SGID?"
read Cevap50
if [ ! -f /home/fixscript/AudioBot$audiobot_port/.adminlikler_sgid_silmeyin ]
then
rm -rf .rights.toml
touch .adminlikler_sgid_silmeyin
echo -ne "$Cevap50" >> .adminlikler_sgid_silmeyin
adminlikler_sgid=`cat .adminlikler_sgid_silmeyin`
rights_bir
echo " groupid = [ $adminlikler_sgid ]" >> .rights.toml
echo ' # And/Or your admin Client Uids here' >> .rights.toml
elif [ ! -f /home/fixscript/AudioBot$audiobot_port/.adminlikler_uid_silmeyin ]
then
echo " useruid = []" >> .rights.toml
rights_iki
clear
else #There is the problem, this else should affect line 14th's if. But it just effects both of them.
#Some Codes
else #This else should affect line 5th's if.
Responder1
Pense em if elif e else como elos de corrente, if é o começo, elifs são os elos do meio e else é o elo final. O que você escreveu é "início, link do meio, link final, link final". Para separar os ifs nas linhas 5 e 14, o que você está procurando é um if aninhado.
Então minha sugestão seria assim
#!/bin/bash
echo -e "What is the SGID?"
read Cevap50
if [ ! -f /home/fixscript/AudioBot$audiobot_port/.adminlikler_sgid_silmeyin ]
then
rm -rf .rights.toml
touch .adminlikler_sgid_silmeyin
echo -ne "$Cevap50" >> .adminlikler_sgid_silmeyin
adminlikler_sgid=`cat .adminlikler_sgid_silmeyin`
rights_bir
echo " groupid = [ $adminlikler_sgid ]" >> .rights.toml
echo ' # And/Or your admin Client Uids here' >> .rights.toml
else #Effects line 5's if.
if [ ! -f /home/fixscript/AudioBot$audiobot_port/.adminlikler_uid_silmeyin ]
then
echo " useruid = []" >> .rights.toml
rights_iki
clear
else # Effects line 15's if