commodore.gen.tr

Amiga => Amiga Yazılım => Konuyu başlatan: MeG üzerinde Nisan 16, 2020, 21:50:44 ÖS



Konu Başlığı: TEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)
Gönderen: MeG üzerinde 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"





Konu Başlığı: Ynt: TEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)
Gönderen: wizofwor üzerinde 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:


Konu Başlığı: Ynt: TEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)
Gönderen: Alpyre üzerinde 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 (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?


Konu Başlığı: Ynt: TEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)
Gönderen: MeG üzerinde 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..


Konu Başlığı: Ynt: TEXT dosyaya Script ile eklemlenmek [AmigaDOS 1.3] (?)
Gönderen: wizofwor üzerinde 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.