Aslında kodlardan çok birşey anlaşılır mı bilmiyorum ben kendi iş akışımdan hızlıca bahsedeyim.
Elektronik imza için gerekli uygulamaların yüklü olup olmadığını daha sonra Usb takılımı, kart takılımı kontrol ediyor ardından gösteriyor. Bunları yazıyor işte açıklama diye değiştirdim oraları. Ardından yüklü olmayanlar için yükle butonu çıkarıyor. Örnegin Uygulama1 Yüklü değil ise Button1=Uygualama1 Yukle seklinde Button1 değişkeni boş olmadığı için osascriptte Button1 değişkenini verdiğinde eğer yüklü değilse yükle butonu çıkmış oluyor. Osascript genel anlamda en fazla 3 butona kadar izin veriyor olması bizi sınırlıyor aslında ama olsun, benim işimi gördü fazlasıyla umarım daha çok işe yarar.
Bu scriptte terminali kullanmayı öğrenmnek isteyen insanlar için çok fazla şeyin örneği var aslında kullanıcıdan osascript ile parola alma aldığın parolayı değişkende tutma ve yükleme işleminde kullanmak.
Curl ile internetten dosya indirmek. PKG yüklemek, değişken oluşturmak kullanmak.
myvar1="";
myvar2="";
myvar3="";
function checkAPP() {
APP2=$(ls /Applications |grep "app")
APPSIGN=$(ls /Applications |grep "app")
if echo "$APP" | grep -q "app"; then
app="Yüklü"
else
app="Yüklü Değil"
fi
if echo "$APPSIGN" | grep -q "app"; then
APPSIGN="Yüklü"
else
APPSIGN="Yüklü Değil"
fi
}
function createbutton(){
if [[ $myvar = "Yüklü Değil" ]]; then
Button1="myvar1 Yükle"
else
unset Button1
fi
if [[ $myvar2 = "Yüklü Değil" ]]; then
Button2="myvar2 Yükle"
else
unset Button2
fi
}
function APP2() {
password=$(osascript <<EOF
set dialogTitle to "Parola Girişi"
set passwordDialog to display dialog "Yükleme İşlemi için Mac Cihazınızın Parolasını girin:" default answer "" with hidden answer buttons {"İptal", "Tamam"} default button "Tamam" with title dialogTitle
set buttonPressed to button returned of passwordDialog
set passwordResult to text returned of passwordDialog
if buttonPressed is "İptal" then
error "Kullanıcı İptal etti."
else
passwordResult
end if
EOF
)
link="downloadlink.com/app1"
appname="app1"
app=$appname.pkg
appdmg=$appname.dmg
appdownpath=~/Downloads/$app
# Parolayı bir değişkene atayarak sudo komutlarında kullan
echo "$password" | sudo -S curl -S -# $link --output $appdownpath
echo "$password" | sudo -S installer -pkg $appdownpath -target /
}
function APP() {
password=$(osascript <<EOF
set dialogTitle to "Parola Girişi"
set passwordDialog to display dialog "Yükleme İşlemi için Mac Cihazınızın Parolasını girin:" default answer "" with hidden answer buttons {"İptal", "Tamam"} default button "Tamam" with title dialogTitle
set buttonPressed to button returned of passwordDialog
set passwordResult to text returned of passwordDialog
if buttonPressed is "İptal" then
error "Kullanıcı İptal etti."
else
passwordResult
end if
EOF
)
link="downloadlink.com/app1"
appname="app1"
app=$appname.pkg
appdmg=$appname.dmg
appdownpath=~/Downloads/$app
# Parolayı bir değişkene atayarak sudo komutlarında kullan
echo "$password" | sudo -S curl -S -# $link --output $appdownpath
echo "$password" | sudo -S installer -pkg $appdownpath -target /
}
while true; do
createbutton
secim=$(osascript -e 'tell application "System Events" to button returned of (display alert "Istanbul BT" message "Açıklama: '$myvar1'\Açıklama: '$myvar2'\Açıklama: '$myvar3'" without icon buttons {"'$Button2'","'$Button1'","Button3"})';)
if [[ $secim = $Button1 ]]; then
APP2
elif [[ $secim = "Button3" ]]; then
sec=$(osascript -e 'tell application "System Events" to button returned of (display alert "Istanbul BT" message "Açıklama....." without icon buttons {"Çık","Sirket","Kadro"})';)
if [[ $sec = "1" ]]; then
if [[ $myvar2 = "Yüklü" ]]; then
open /Applications/appname
fi;
open link?
break
elif [[ $sec = "2" ]]; then
if [[ $myvar2 = "Yüklü" ]]; then
open /Applications/appname
fi;
open link?
break
elif [[ $sec = "Çık" ]]; then
break
fi
elif [[ $secim = $Button2 ]]; then
APP2
fi
done