[Nasıl]Çalışıtırılabilir Yapma (Nautilus Betiği)

Başlatan alquirel, 22 Kasım 2010 - 21:28:42

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

alquirel

Çok sık ihtiyacım oluyor. Her seferinde özellikler > erişim hakları > çalıştırılabilir yap demek veya terminal açıp kod girmek de zaman kaybı.
Şöyle bir şey yaptım ama başaramadım.


#!/bin/bash
sudo chmod +x "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"


Not: Çalışan betik aşağıda

jayw

Merhaba;

Bu konuda pek bir bilgim yok ama Google'da biraz gezindim, bulduğum kodları biraz karıştırdım, ekledim, çıkardım, sonuçta ortaya aşağıdaki betik çıktı :) Aşağıdaki betik sadece dosyayı çalıştırılabilir yapıyor, çalıştırılabilir ise bu özelliğini iptal etmiyor ne yazık ki :) Neyse işinize yaraması dileğiyle...

#!/bin/bash

IFS=$'\n'
for FILENAME in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
do
   chmod +x "$FILENAME"
done

exit 0

alquirel

Teşekkürler @jayw
Çalıştırılabilenin de bu özelliğini kaldıran bi betik olsa tam olur aslında.
Ama benim öyle bi ihtiyacım olmadı şimdiye kadar.
Yani bu betik işimi fazlasıyla görür.

jayw

Aşağıdaki betik, dosya çalıştırılabilir ise çalıştırılabilir özelliğini kaldırıyor; çalıştırılabilir değilse çalıştırılabilir olma özelliğini veriyor.

#!/bin/bash

FILENAME=`echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed "s|\n||"`

if [ -x "$FILENAME" ] ; then
chmod -x "$FILENAME"
else
chmod +x "$FILENAME"
fi

ironic


#!/bin/bash


if [[ -n $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]]
then

IFS=$'\t\n'
a=0
b=0

        for dosya in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
        do
             drm=`stat -c %a "${dosya}"`
   
             if [ $drm -eq 644 ]
             then
                 chmod +x "${dosya}"
                 ((a++))
   
             elif [ $drm -eq 755 ]
             then
                 chmod -x "${dosya}"
                 ((b++))
             fi   
        done

unset IFS   

zenity --info --text " $a tane dosya çalıştırılabilir yapıldı. \
\n\n $b tane dosyadan çalıştırılabilir hakkı alındı." --timeout 8

else
    zenity --warning --text 'Herhangi bir seçim yapmadınız.' --timeout 8

fi   


alquirel

Forumumuza güzel bir betik daha kazandırmış oldunuz. Emeği geçenlere sonsuz teşekkürler...

jayw

@alquirel:
Sayenizde güzel bir betik oldu.

@ironic:
Gerçekten güzel ve profesyonel bir betik yazmışsınız. Benim bu betiği anlamam için kabuk programlama ve betikler olayında daha çok zamana ihtiyacım var anlaşılan :)

herace

Bunu nasıl kaydediyoruz da betik oluyor?
Aşağıdaki linkteki betikler niye çalışmadı bende? :(

heartsmagic

Ev dizinin içindeki gizli olan .gnome2 dizini içinde nautilus-scripts isminde bir dizin aç ve istediğin betiği buraya kopyala. Ardından Nautilus'u tamamen sonlandır veya oturumu kapatıp tekrar aç.

Gizli dizinleri Ctrl+H ile görebilirsin.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

herace

Alıntı yapılan: heartsmagic - 10 Mart 2011 - 04:10:31
Ev dizinin içindeki gizli olan .gnome2 dizini içinde nautilus-scripts isminde bir dizin aç ve istediğin betiği buraya kopyala. Ardından Nautilus'u tamamen sonlandır veya oturumu kapatıp tekrar aç.

Gizli dizinleri Ctrl+H ile görebilirsin.

Teşekkür ederim açıklama için ama bu kısım tamam. :) Dosya uzantısı ne olmalı demeliydim aslında.

bytan

Uzantı çok önemli değil. Yeter ki belirtilen yerde bulunsun ve çalıştırılabilir iznine sahip olsun. Ama dosya.sh olarak da uzantıyı belirleyebilirsin.
Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST