Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trAmigaAmiga YazılımTEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: TEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)  (Okunma Sayısı 5106 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
MeG
Deneyimli
*****
Mesaj Sayısı: 635


Super Kahraman


Üyelik Bilgileri WWW
« : Nisan 16, 2020, 21:50:44 ÖS »

Merhaba,

DOS1.3 ile bir script içerisinden s:user-startup dosyasının en sonuna 2 satır eklemek istiyorum. Bunun için aşağıdaki gibi bir şey düşündüm ama doğru bir yöntem midir bilmiyorum.. Bu işi çözmenin en doğru yolu nasıldır?

Saygılarımla...

==== SCRIPT ====
rename S:user-startup S:user-startup.old
join S:user-startup.old Benimkomutlarımınolduğudosyacık to S:user-startup

==== Benimkomutlarımınolduğudosyacık ====
echo "User Startup'ın en sonundan merhaba"
echo "ikinci satır"



Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.727


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #1 : Nisan 18, 2020, 20:38:57 ÖS »

AmigaDOS script tecrübem sıfır. Aşağıdaki gibi bir kod yazdım. Muhtemelen çalışmayacak ama bir fikir verebilir.

key source, commands

Copy <source> to <source>.old
Join <source> <commands> as <source>

ed <source>

echo "User Startup'ın en sonundan merhaba"
echo "ikinci satır"
endcli > nil:
Logged

Alpyre
Uzman
*****
Mesaj Sayısı: 2.237



Üyelik Bilgileri WWW
« Yanıtla #2 : Nisan 19, 2020, 13:31:03 ÖS »

Selam Meg.

Yazdığın satırlar startup-sequence'nin sonuna iki satır ekler. Yani kodda bir hata yok. Fakat işlevsellik açısından iki sorun var.

Birincisi yazdığın script ikinci bir kez çalıştırılırsa, aynı satırlar ikinci kez eklemiş olur. Böyle bir şeyin olmasını istemezsin diye düşünüyorum.

İkincisi de startup-sequence'nin sonuna satır eklemenin pratikte hiçbir faydası olmayışı. Çünkü tüm startup-sequence'ler EndCLI ile bittiğinden EndCLI'den sonraki satırlar çalışmayacaktır.

OS1.3'te StartupII, OS2.0 ve üzerinde ise user-startup'ın sonuna ekleme yapsan en azından eklenen satırların çalışmasını garanti edebilirsin ancak ilk sorun hala geçerli.

OS2.0 ve üzerinde bu tarz işler için Installer'ın STARTUP fonksiyonunu kullanman önerilir:
Kod:
(STARTUP @app-name (COMMAND "echo \"User Startup'ın en sonundan merhaba\"\necho \"ikinci satır\""))

Tabi bu DOS scripti yerine Installer scripti yazmanı gerektirecek ama ikinci sorunu da ortadan kaldıracaktır.

OS1.3'te bu işi bir ed scripti yazarak halledebilirsin ki, öncesinde baya bir ders çalışman gerekebilir: https://wiki.amigaos.net/wiki/AmigaOS_Manual:_AmigaDOS_Using_the_Editors

EDIT: Zaten user-startup'ın sonuna ekliyormuşsun. Yalnız 1.3'te user-startup yok diye biliyorum. Yanlış mı biliyorum?
« Son Düzenleme: Nisan 19, 2020, 13:59:55 ÖS Gönderen: Alpyre » Logged

Alper
MeG
Deneyimli
*****
Mesaj Sayısı: 635


Super Kahraman


Üyelik Bilgileri WWW
« Yanıtla #3 : Nisan 19, 2020, 21:44:14 ÖS »

@alpyre

Şu şekilde bi şey yaptım

Kod:
IF EXISTS S:User-Startup
Rename S:User-Startup S:User-Startup.old
Join S:User-Startup.old StartupCommands to S:User-Startup
EndIf

IF EXISTS S:StartupII
Rename S:StartupII S:StartupII.old
Join S:StartupII.old StartupCommands to S:StartupII
EndIf

StartupCommands eklemek istediğim satırların yazdığı dosya..
Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.727


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #4 : Nisan 20, 2020, 00:15:32 ÖÖ »

Nasıl yapılır bilmiyorum ama bir şekilde User-Startup içinde StartupCommand'ın zaten olup olmadığını da kontrol edebilsen daha güvenli olurdu.
Logged

Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: