#0 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 07/05/2012, à 14:26
- nordinatueur
- Réponses : 1689
>>Vous pouvez vous battre ailleurs ?
J'aime beaucoup suivre ce fil.
bon aller je repond plus et je me tate pour me désinscrire.
Non mais ça va pas ? On ne se désinscrit pas pour ça enfin... Tu ne changes pas de prénom et nom à chaque fois que tu t'embrouilles avec quelqu'un.
Il faut vous tempérer. C'est facile de mal interpréter les propos d'autrui sur un forum !
>>J'en reviens au sujet initial.
Je ne sais plus où je me suis inspiré (j'ai tout copié) de ça :
Ça sert à copier/couper/coller des fichiers et dossiers comme on le fait dans un gestionnaire de fichiers graphique.
On lance copier/couper, on va dans le dossier sélectionné et on lance coller.
copier(){ while (( $# )); do cp -a "${1}" "/tmp/copie.${1}"; shift; done; }
couper(){ while (( $# )); do mv -a "${1}" "/tmp/copie.${1}"; shift; done; }
alias coller="ls -d /tmp/copie.* | sed 's,/tmp/copie.,,' | xargs -I % mv /tmp/copie.% ./%";Bien sûr c'est l'ébauche et il faudrait améliorer encore !
Par exemple faire une fonction avec une boucle pour coller, car en l'état actuel on ne peut pas rajouter l'option -i à mv qui serait bien pratique.
Ensuite, je pense qu'il serait mieux de ne créer qu'un simple fichier avec la liste des fichiers à copier/coller pour éviter de faire deux écritures disque lorsqu'une suffit !
À bientôt les Zouzous !
#1 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 08/05/2012, à 13:25
- nordinatueur
- Réponses : 1689
@Bousky
C'est une bonne idée, mais après avoir testé, ça n'a pas le résultat escompté chez moi !
Par exemple, il n'y a un fichier par instance de terminal et j'aimerais copier dans un terminal et coller dans un autre.
À moins de le mettre dans le .profile, mais je ne suis pas sûr que ça change quelque chose !
À la limite, on peut se proposer ce code :
CC_COPIE="/tmp/copie."$(md5sum <<< "${USER}@${HOSTNAME}"); CC_COPIE=${CC_COPIE% -}Et ensuite, j'ai amélioré un peu :
Je préfère largement while (( $# )) à while [ "${1}" ] car s'il y a une ligne vide tu vas sortir de la boucle sans regarder le reste. La fonction coller vérifie que l'on n'essaye pas de copier un fichier deux fois. C'est surtout utile pour couper mais puisque j'utilise l'option -i c'est aussi très préférable pour copier.
function copier {
while (( $# )); do
case ${1:0:1} in
'/')
echo "${1}" >> "${CC_COPIE}";;
'~')
echo "${HOME}/${1}" >> "${CC_COPIE}";;
*)
echo "${PWD}/${1}" >> "${CC_COPIE}";;
esac;
shift;
done;
}
function coller {
touch ${CC_COPIE} ${CC_COUPE};
sort -u ${CC_COPIE} | while read i ; do
cp -ai "${i}" "${PWD}";
done;
> "${CC_COPIE}";
sort -u ${CC_COUPE} | while read i ; do
mv -ai "${i}" "${PWD}";
done;
> "${CC_COUPE}";
}#2 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 17/05/2012, à 05:38
- nordinatueur
- Réponses : 1689
@Arcadia et @Hizoka,
metamorphose, qui n'est pas dans les dépôts, permet de renommer les fichiers avec un gui très réussi. En particulier, si le nom final contient des slash /, alors metamorphose créera les dossiers qu'il faut pour que ça fonctionne !
Edit : http://file-folder-ren.sourceforge.net/
Aussi essayez :
echo ${REPLY/-/\/} # remplace le premier «-» par «/»
echo ${REPLY//-/\/} # remplace tous les «-» par «/»@communauté :
Petit script pour changer la luminosité dans Precise :
(Je ne sais pas comment ça marchait dans Oneiric car j'ai sauté une distro mais avant ce n'était pas comme ça.)
#!/bin/bash
# Créé par Nordinatueur
#Définit si le script se relance automatiquement en root ou pas. (true=vrai, false=faux)
relancerAutoRoot=true;
if [[ $(whoami) != "root" ]]; then
if ${relancerAutoRoot}; then
echo "sudo ${0##*/} $@" && sudo ${0} $@ ;
else
echo "Il faut être root pour lancer ce script.";
fi;
exit;
else
#Fichier de luminosité
BN="/sys/class/backlight/acpi_video0/brightness";
maxB=$(cat /sys/class/backlight/acpi_video0/max_brightness);
fin() { echo "${1}"; exit; }
Usage()
{
cat<<-EOF
Usage :
${0##*/} <option>
-h Affiche cette aide
N Définit la luminosité à N. (N est compris entre 0 et ${maxB})
-N Enlève N à la luminosité courante. (si possible)
+N Ajoute N à la luminosité courante. (si possible)
+/- Ajoute/Enlève 1 à la luminosité courante. (si possible)
min/max Met la luminosité au min/max.
EOF
exit;
}
case ${1} in
-h|--help)
Usage;;
-path)
echo ${0};
exit;;
[0-9])
b=${1}; [[ ${b} -ge ${maxB} ]] && b=${maxB};
echo ${b} > ${BN};;
+[0-9]|+)
b=$(cat ${BN}); [[ ${b} -ge ${maxB} ]] && fin "Luminosité maximale...";
s=${1#+}; [[ ${s} == "" ]] && s=1;
s=$((b+s));
[[ ${s} -gt ${maxB} ]] && s=${maxB};
echo ${s} > ${BN};;
-[0-9]|-)
b=$(cat ${BN}); [[ ${b} -le 0 ]] && fin "Luminosité minimale..." ;
s=${1#-}; [[ ${s} == "" ]] && s=1;
s=$((b-s));
[[ ${s} -lt 0 ]] && s=0;
echo ${s} > ${BN};;
min)
b=$(cat ${BN}); [[ ${b} -eq 0 ]] && fin "Luminosité minimale..." ;
echo 0 > ${BN};;
max)
b=$(cat ${BN}); [[ ${b} -ge ${maxB} ]] && fin "Luminosité maximale...";
echo ${maxB} > ${BN};;
*)
fin "Argument invalide";;
esac;
b=$(cat ${BN});
echo "Luminosité ${b}/${maxB}...";
fi;Astuces :
Pour que le script se relance avec sudo automatiquement et vous demande votre mot de passe, il suffit de remplacer à la ligne 5 « relancerAutoRoot=true; » par « relancerAutoRoot=false; »
Et pour qu'il ne demande plus le mot de passe : ATTENTION***
Tout d'abord mettre le script dans un endroit où vous n'avez pas le droit de le modifier. Par exemple /usr/local/bin, ou /opt. Le permier est très bien car il est dans le PATH en général.
Éditer /etc/sudoers :
sudo visudoAjouter la ligne :
%users localhost = NOPASSWD: /usr/local/bin/setBrightness
***ATTENTION !
Si vous mettez cette ligne dans le sudoers il faut absolument que le fichier (votre script) ne soit pas éditable sans les droits administrateur !
Dans le cas contraire n'importe quelle commande pourrait être insérée dans votre script et exécutée avec les droits administrateurs sans demande de mot de passe !
Ici j'ai mis mon script dans /usr/local/bin, donc pour le modifier il faut être root ou avoir ses droits sur le dossier !
Edit: (modification du script et du chemin /usr/local/bin)
#3 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 17/05/2012, à 06:04
- nordinatueur
- Réponses : 1689
Merci j'en tiens compte !
Et oui je garde une syntaxe la plus propre possible pour ne pas perdre les bonnes habitudes !
Edit :
@Dell-ubuntu
Merci ! J'avais quelques MOV qui trainaient et j'ai jamais eu le courage de chercher pour ça puisque totem les gérait (bien que difficilement et aléatoirement...) C'est pas faute de m'être farci du mencoder et sa doc à la pelle à une époque !
#4 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 22/05/2012, à 11:31
- nordinatueur
- Réponses : 1689
Explication :
cat<<-EOF permet d'indenter les lignes suivantes avec des tabulations. Un copier-coller à la souris du script de nordinateur #1588 a remplacé les tabulations par des espaces, et ça ne fonctionne plus.
Voici un extrait de man bash, rubrique Here Documents :
If the redirection operator is <<-, then all leading tab characters are stripped from input lines and the line containing delimiter.
J'adore ce forum !
@twocats, merci, ça fonctionnera mieux comme ça pour les transferts par copier/coller.
Pour mon utilisation personnelle je préfère quand même cat.
@pingouinux, merci beaucoup pour la précision, l'explication claire avec un extrait du man pour appui !! Je crois que sur le forum je n'aurais pas vu l'erreur. D'autant qu'elle ne se produisait pas avant puisque je prenais l'habitude de mettre le EOF en début de ligne, sans tabulation !
@TraGiKomiK, partager sur ce forum c'est bien plus que du partage ! Ça nous revient toujours en mieux !
C'est pour ça je pense que le libre et ubuntu en particulier n'est pas prêt de disparaître quelles que soient les grandes puissances monopolistes qui émergeront... Vive le libre !
adopré
Entre adopté et adoré ?
Edit : J'ai apporté un petit gradient pour mettre la luminosité aux max/min...
#!/bin/bash
# Créé par Nordinatueur
if [[ $(whoami) != "root" ]]; then
echo "sudo ${0##*/} $@" && sudo ${0} $@ ;
exit;
else
#Période pour définir les luminosités max et min.
dt=0.05;
#Fichier de luminosité
BN="/sys/class/backlight/acpi_video0/brightness";
maxB=$(cat /sys/class/backlight/acpi_video0/max_brightness);
fin() { echo "${1}"; exit; }
Usage()
{
cat<<-EOF
Usage :
${0##*/} <option>
-h Affiche cette aide
N Définit la luminosité à N. (N est compris entre 0 et ${maxB})
-N Enlève N à la luminosité courante. (si possible)
+N Ajoute N à la luminosité courante. (si possible)
+/- Ajoute/Enlève 1 à la luminosité courante. (si possible)
min/max Met la luminosité au min/max.
EOF
exit;
}
case ${1} in
-h|--help)
Usage;;
-path)
echo ${0};
exit;;
[0-9])
b=${1}; [[ ${b} -ge ${maxB} ]] && b=${maxB};
echo ${b} > ${BN};;
+[0-9]|+)
b=$(cat ${BN}); [[ ${b} -ge ${maxB} ]] && fin "Luminosité maximale...";
s=${1#+}; [[ ${s} == "" ]] && s=1;
s=$((b+s));
[[ ${s} -gt ${maxB} ]] && s=${maxB};
while [[ ${b} -lt ${s} ]];do ((b++)); echo ${b} > ${BN}; sleep ${dt}; done;;
-[0-9]|-)
b=$(cat ${BN}); [[ ${b} -le 0 ]] && fin "Luminosité minimale..." ;
s=${1#-}; [[ ${s} == "" ]] && s=1;
s=$((b-s));
[[ ${s} -lt 0 ]] && s=0;
while [[ ${b} -gt ${s} ]];do ((b--)); echo ${b} > ${BN}; sleep ${dt}; done;;
min)
b=$(cat ${BN}); [[ ${b} -eq 0 ]] && fin "Luminosité minimale..." ;
while [[ ${b} -gt 0 ]];do ((b--)); echo ${b} > ${BN}; sleep ${dt}; done;;
max)
b=$(cat ${BN}); [[ ${b} -ge ${maxB} ]] && fin "Luminosité maximale...";
while [[ ${b} -lt ${maxB} ]];do ((b++)); echo ${b} > ${BN}; sleep ${dt}; done;;
*)
fin "Argument invalide";;
esac;
echo "Luminosité ${b}/${maxB}...";
fi;#5 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 27/05/2012, à 12:20
- nordinatueur
- Réponses : 1689
Mon script ici :
./viewtopic.php?pid=9289911#p9289911
Si tu suis les instructions du premier post tu pourras l'utiliser sans mot de passe et donc intégrer la commande dans .profile ou autostart (évite bashrc) ...
#6 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 01/06/2012, à 18:24
- nordinatueur
- Réponses : 1689
De mon côté xbacklight ne fonctionne pas il me dit "no outputs have properties"
Du coup j'ai fouiller un peu et j'ai trouvé en faisant ce petit script
#!/bin/sh # Pour le faire fonctionner dans un terminal entrer : # "sudo VISUAL=/usr/bin/gedit visudo" # puis ajouter à la fin # "kura ALL=NOPASSWD: /home/kura/.backlight.sh" # et c'est tout, après dans autostart il suffit de mettre # "sudo /home/kura/.backlight.sh" # PS : ne pas oublier de rendre le script exécutable :P sh -c 'echo 9 > /sys/class/backlight/acpi_video0/brightness' exit 0Si ça peut aider certains
9 est mon brightnessmax à vous de voir comme vous voulez
C'est très dangereux de donner à un script tous les droits de root sans mot de passe !
Il suffit d'un simple accès en écriture dans ton script pour exécuter n'importe quelle commande avec les privilèges administrateurs !
Il faut absolument le mettre dans un dossier où seul root peut le modifier ou alors ne le rendre accessible en écriture que par root. (La première méthode est plus simple.)
J'ai expliqué un peu ça avec ma version du script un peu avant.
#7 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 04/06/2012, à 16:13
- nordinatueur
- Réponses : 1689
ouais enfin dangereux
je suis tout seul a utilisé mon ordi donc bon pour moi ça me va.
Tu le mets en lecture only est ça roulerien de bien compliqué quand même clic droit>Propriétés>Permissions et tout en lecture et basta
Bon on va la jouer sécure, on ne sait jamais et comme je ne serais pas le seul a utilisé le script c'est plus prudent
Oui il faut penser aux autres, et surtout ton dossier n'est pas inaccessible en écriture, donc rien n'empêche de recréer un script au même emplacement.
Il ne s'agit pas seulement d'intrusion physique, mais aussi de tous les programmes/scripts qui ont le droit d'écrire un fichier à cet emplacement...
De plus comme l'a fait remarquer Bousky, il vaut mieux le mettre dans /usr/local/bin/
(mais c'est du chipotage.)
@hayou, j'avais un truc du même genre, mais il n'y avait pas le système de révisions... Je trouve ça très intéressant.
Mais comme je suis un peu fainéant, j'ai aussi fait un système qui permet de restaurer la version qu'on veut avec un select. Je ne suis pas chez moi, mais je vous posterai ça plus tard.
Edit :
#!/bin/bash
# Créé par Nordinatueur
#
rouge='\e[31m'; vert='\e[32m'; jaune='\e[33m'; bleu='\e[34m'; rose='\e[35m'; cyan='\e[36m'; gris='\e[37m'; NC='\e[0m';
_bak ()
{
nomfichier=${1}
nomcible=${nomfichier};
if grep -q '.\+\..*' <<< "${nomcible}"; then ext="."${nomcible##*.}; fi;
while [[ -h ${nomcible} ]]; do
nomcible="$(readlink ${nomcible})";
printf "${vert}${nomfichier} -> ${nomcible}${NC}\n";
done;
#Le fichier est alors le bon : ce n'est plus un lien !
nombasecible=${nomcible%%_20[0-9][0-9]-[01][0-9]-[0-3][0-9]_[0-2][0-9]h[0-6][0-9]m[0-6][0-9]};
echo ${nombase};
#if [[ ${nom} =~ .*_20[0-9][0-9]-[01][0-9]-[0-3][0-9]_[0-2][0-9]h[0-6][0-9]m[0-6][0-9] ]]; then
#[[ -h ${lien} ]] && cp -f ${nom} ${nombase} ;
#fi;
nouveaunom=".${nombasecible%/}_$(date +%Y-%m-%d_%Hh%Mm%S)${ext}" ;
cp -R --verbose "${nomcible}" "${nouveaunom}" ;
mv -v "${nouveaunom}" "${2}" 2> /dev/null ;
}
_debak ()
{
regexPosix="_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}h[0-9]{2}m[0-9]{2}(\.[^\.]{1,}){0,1}";
tput smcup;
#find . -maxdepth 1 -iname ".*${1}*" | egrep "${regexPosix}" >&2;
select fichier in $( find . -maxdepth 1 -iname ".*${1}*" | sed -nr "s/^\.\/\.//;s/${regexPosix}$//p" | sort | uniq ); do
clear;
echo ${fichier};
[[ -z ${fichier} ]] && printf " > ${bleu}Choisissez un fichier ...${NC}\n" && continue;
dates=$( find . -maxdepth 1 -iname ".${fichier}_*" | egrep -o "${regexPosix}$" );
printf " >> ${vert}Choisissez une date ...${NC}\n";
select date in ${dates}; do
clear;
[[ -z ${date} ]] && printf " > ${vert}Choisissez une date ...${NC}\n" && continue;
effacer=o;
sauvegarder=n;
#[[ -f "${fichier}" || -d "${fichier}" ]] && { echo "Êtes-vous sûr de vouloir effacer ${fichier} [o/N] ?"; read -n 1 effacer ; printf "\n"; }
#[[ ${effacer} = "o" ]] && rm -rf "${fichier}" && cp -vf -R ."${fichier}"${date} "${fichier}" || echo "Annulé ...";
[[ -f "${fichier}" || -d "${fichier}" ]] && { echo "${fichier} existe. Voulez-vous le sauvegarder avant d'écraser [o/N] ?"; read -n 1 -t 5 sauvegarder ; printf "\n"; }
[[ ${sauvegarder} == "o" ]] && _bak ${fichier};
rm -rf "${fichier}" && cp -vf -R ."${fichier}"${date} "${fichier}" || echo "Annulé ...";
printf "Appuyez sur Entrée pour continuer...";
read -t 5 ok;
break;
done;
clear;
break;
done;
tput rmcup
exit;
}
Usage ()
{
cat <<EOF "Usage : ${0##*/} [options] [fichier [dossier]]
Fait une sauvegarde de 'fichier' dans 'dossier'.
-h : Affiche l'aide
-e : Éditer
-r : Restaurer des fichiers en backup"
EOF
}
LOGFILE="/tmp/${0##*/}.log";
continuer=false;
case ${1} in
-e) shift; vim -p ${0}; exit;;
-h|--help) Usage; exit;;
-r|--restore) shift; _debak "${1}";;
-readlink) shift; readlink ${0} ;;
*) _bak "${1}" "${2}" ;;
esac;#8 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 01/07/2012, à 10:37
- nordinatueur
- Réponses : 1689
@nesthib : C'est déjà fait, ça faisait partie des suggestions et ça a été corrigé ... Voir les dernières versions ./viewtopic.php?pid=9168391#p9168391.
Aussi j'utilisais souvent des liens symboliques donc je voulais sauvegarder la cible finale du lien, pas le lien qui n'a aucun intérêt... C'est ce qui justifie en partie la longueur de la fonction que je propose.
Enfin la fonction debak() m'est très pratique...
#9 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 03/08/2012, à 16:35
- nordinatueur
- Réponses : 1689
@murasame
java -Xmx1024M -Xms512M -jar /home/murasame/.minecraft/minecraft.jar & sleep 8 && wmctrl -r "Minecraft Launcher" -b toggle,fullscreen
while pidof java
do sleep 1
doneÀ la place de « pidof java » essaye :
while ps x | grep ".minecraft/minecraft.jar"; do sleep 1; done;Aussi, combien de temps met ta fenêtre java à se fermer lorsque tu quittes minecraft ?
Tu pourrais adapter le « sleep 1 » à ce temps là pour qu'ils soient du même ordre de grandeur.
#10 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 06/08/2012, à 03:40
- nordinatueur
- Réponses : 1689
Bousky a écrit :Avec pidof tu vas avoir des problèmes si il y a un autre processus java lancé en parallèle…
En théorie oui, mais là non. Minecraft est le seul processus java qui existe à ce jour sur l'ordi de mon fils (9 ans) et à priori, il y a 0% de chance pour qu'une autre application utilisant java soit lancée en même temps (1- il n'y en a pas, 2- même s'il y en avait, mon fils ne pourrait rien lancer dans la mesure où il est en plein écran sur Minecraft).
Je pense que ce qu'il entend par là, c'est que si un jour tu dois installer, pour x raisons, un autre logiciel exploitant java (par exemple un client de messagerie révolutionnaire qui tournerait en fond avant de lancer Minecraft en plein écran...) alors tu devras modifier tous les scripts qui ont étés conçus de cette façon pour savoir si Minecraft est lancé. Il est donc plus propre de prévoir tout de suite la possibilité qu'une autre application java s'installe sur cet ordinateur.
À ce point, le choix de la méthode t'appartient entièrement et si tu es sûr qu'aucune autre appli java n'arrive plus tard alors c'est une bonne solution pour toi.
Cependant ce forum a vocation à aider le plus grand nombre et il est donc recommandé (même si cela ne te plaît pas tout à fait) d'utiliser une solution plus générale quand même elle serait légèrement plus lourde. Alors l'aide qu'on t'aura apporté pourra en aider d'autres. Et ton expérience nous dira si la solution est bonne.
On attend ton retour avec impatience ! :-D
#11 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 07/08/2012, à 18:09
- nordinatueur
- Réponses : 1689
@draco31.fr, Merci, je connaissais pas cette commande !
@murasame, il ne faut pas lire la moitié de l'énoncé. Je t'ai aussi dit que le choix de la méthode était tien.
Je te demande juste de nous aider à trouver une condition plus fine que le processus java. Je ne te juge pas et, à vrai dire, je me fiche complètement de ce que tu peux penser. J'essaye juste d'aider à résoudre un problème qui me semble intéressant.
Ma remarque était simplement pour te sensibiliser à cette question en réponse à la tienne sur l'absence d'un quelconque autre processus java. C'était donc une demande d'aide.
Du reste, que tu veuilles bien aider ou pas, je m'en balance. Si tu ne veux pas, d'autres voudront. Je ne sais pas qui tu es et m'en fiche. Et même si je te connaissais ça ne changerait pas ma vie.
En revanche, si tu te penches sur ce problème je t'en serais reconnaissant.
Revenons au sujet. Je n'ai pas le temps de jouer à Minecraft donc je me contenterai de poser des questions (:-D)
Est-ce que ton script qui lance Minecraft se trouve dans tes processus en cours ?
« wmctrl -l » permet entre autre de lister les fenêtres lancées. Est-ce que tu y trouves une occurrence de Minecraft ?
Puisque tu ne trouves qu'un processus java le recours aux fenêtre peut être un bon élément pour non seulement lancer le mode plein écran, mais aussi savoir quand il s'arrête.
P.S : Il est très facile de mal interpréter des propos écrits. Essayons de ne pas nous emporter pour si peu.
#12 Re : -1 » [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 09/08/2012, à 16:32
- nordinatueur
- Réponses : 1689
@murasame, Bonne vacances !
Voilà une fonction qui me met Geany en plein écran dès qu'il se lance... Peu importe le bureau et l'état (maximisé ou réduit)
Il faudrait peaufiner la condition du grep, mais l'idée est là... (sinon il trouverait aussi par exemple le navigateur si le titre contient «geany»)
until wmctrl -lx | grep -i geany.geany; do
sleep 0.1;
done ;
wmctrl -lx | grep -i geany.geany | sed "s/.*${HOSTNAME} //g" | xargs wmctrl -b add,fullscreen -rPourras-tu poster le résultat de «wmctrl -lx» pour y arriver plus simplement ?
@_Phoenixtwo_
J'ai remplacé quelques «$@» par «$File», mais surtout les scripts Nautilus utilisent des variables différentes (voir documentation) et le script n'avait donc aucune variable transmise en paramètre $1, $2, ... et donc $# vaut 0 et $@ est vide.
Je te conseille donc cette version et pas seulement l'utilisation des variables Nautilus car ainsi il sera compatible avec la ligne de commande et les actions Thunar (entre autres.)
#!/bin/sh
#
# GPL v.3
# Copie vos fichiers/dossiers à l'emplacement des scripts nautilus et leur donne les droits nécessaires
#On passe par une variable qui contiendra les argument Nautilus-Scripts ou les arguments naturels de la ligne de commande.
[[ -n ${NAUTILUS_SCRIPT_CURRENT_URIS} ]] && fichier=${NAUTILUS_SCRIPT_CURRENT_URIS} || fichiers=$@;
# Si aucun fichier selectionné
if [ -n $fichiers ]; then
zenity --error --title="Erreur" --text="Vous devez selectionner un fichier !"
exit
fi
for File in "$fichiers"
do
# Si c'est un dossier
if [ -d "$File" ]; then
if zenity --question --title="Confirmation" --text="Désirez-vous copier ce dossier : '$File' ?"; then
cp $File/ $HOME/.gnome2/nautilus-scripts/ -R &&
chown $LOGNAME $HOME/.gnome2/nautilus-scripts/$File/ -R &&
chmod 755 $HOME/.gnome2/nautilus-scripts/$File/ -R
fi
#Si c'est un fichier
else
cp $File $HOME/.gnome2/nautilus-scripts/ &&
chown $LOGNAME $HOME/.gnome2/nautilus-scripts/$File &&
chmod 755 $HOME/.gnome2/nautilus-scripts/$File
fi
doneEdit : Et aussi, il faut le mettre dans le dossier des nautilus-scripts et le rendre exécutable.
#13 Re : -1 » [Script] Réinstallation automatique des paquets sur un système neuf » Le 21/05/2012, à 17:03
- nordinatueur
- Réponses : 78
@kimic12
S'il te plaît, peux-tu poster le résultat de
cat -n reinstall.sh Ce sera plus simple pour les fainéants qui veulent t'aider ! :-)
Définissez un fichier (et donc la variable fichierDepots) pour utiliser cette boucle juste après la section de dépôts dans le script :
egrep "^[^#]" "${fichierDepots}" | while read depotPPA; do
fichier="${depotPPA//\//-}";
fichier="/etc/apt/sources.list.d/${fichier//./_}-${VERSION}.list";
if [[ ! -e "${fichier}" ]]; then
echo "Ajout du ppa ${depotPPA}";
add-apt-repository "ppa:${depotPPA}" ;
fi;
done;#14 Re : -1 » [~RESOLU] transmission ne télécharge pas. » Le 28/10/2012, à 12:37
- nordinatueur
- Réponses : 8
Hey !
À propos du tag «résolu», tu devrais plutôt mettre [ABANDON].
Le résolu implique que une solution à ton problème a été trouvée, ce qui n'est pas le cas.
De plus passer à ktorrent si tu es sous GNOME ou XFCE n'est pas forcément le meilleur choix.
#15 Re : -1 » Résolu : Compaq Presario CQ57-431EF et carte wifi ralink RT5390 » Le 26/05/2012, à 22:18
- nordinatueur
- Réponses : 13
Passe le sujet en résolu !
(Édite le titre dans ton premier message.)
#16 Re : -1 » Résolu : Compaq Presario CQ57-431EF et carte wifi ralink RT5390 » Le 27/05/2012, à 13:02
- nordinatueur
- Réponses : 13
Pas de soucis !
C'est pour ceux qui cherchent une solution au même problème ou un problème similaire. Ça aide à trier les posts pour lire en priorité les résolus.
Et aussi pour ceux qui viennent aider ! Si c'est résolu on passe son chemin.
Autre chose, le résultat des commandes se met généralement entre les balises de code (l'icône avec des "<>")
[code ] # Ici on insère le code [/ code]C'est plus lisible et ça prend moins de place sur la page. De plus avec la couleur et le cadre ça permet de séparer toutes les commandes que tu as écrit !
Edit : En tout cas c'est déjà super d'avoir posté tout ça ! Ça prouve en plus que tu as recherché avant !
#17 Re : -1 » Résolu : Compaq Presario CQ57-431EF et carte wifi ralink RT5390 » Le 28/05/2012, à 22:46
- nordinatueur
- Réponses : 13
Ah Ubuntu viendra avec ses bugs et lenteurs aussi (à mon goût il y en a moins...)
Mais le gros avantage c'est qu'on n'est pas seul quand on choisit le libre et Ubuntu en particulier ! Comme tu as pu remarquer ce forum est très réactif et je suis sûr qu'il le restera !
#18 Re : -1 » Asus K53E pas de wifi » Le 26/05/2012, à 22:09
- nordinatueur
- Réponses : 2
Alors c'en est où ?
#19 Re : -1 » [RESOLUS] Soucis après formatage disque dur non reconnus par Ubuntu » Le 26/05/2012, à 20:54
- nordinatueur
- Réponses : 22
J'imagine qu'il ne me reste plus qu'à attendre aussi... :-(
#20 Re : -1 » [Résolu] 12.04 -> Plus d'Auto-complétion (apt-get) » Le 01/05/2012, à 12:36
- nordinatueur
- Réponses : 4
Même problème. Up !
#21 Re : -1 » [Résolu] 12.04 -> Plus d'Auto-complétion (apt-get) » Le 10/05/2012, à 00:40
- nordinatueur
- Réponses : 4
Oui merci, ça fonctionne !
J'ai pas pensé à le remettre cette fois.
C'est bizarre que ça fonctionne pour tout sauf apt-get install mais bon...
#22 Re : -1 » [Résolu] 12.04 -> Plus d'Auto-complétion (apt-get) » Le 15/05/2012, à 22:12
- nordinatueur
- Réponses : 4
Heu en fait non, ça ne fonctionne déjà plus... Pourtant j'ai bien ces lignes dans mon bashrc en root !
#23 Re : -1 » Problème hibernation depuis 11.10 sur Eeepc901 » Le 29/04/2012, à 18:28
- nordinatueur
- Réponses : 1
Je ne m'y connais pas trop mais tu devrais chercher peut-être autour des commandes « swapon » et « swapoff » qui permettent respectivement de monter et démonter la swap (et donc la vider).
#24 Re : -1 » Gnome-tweak-tool, installé mais rien ne se passe » Le 27/04/2012, à 18:44
- nordinatueur
- Réponses : 2
Je n'ai toujours rien avec cette méthode.
Up !