#1 Le 17/08/2009, à 14:16
- sdblepas
rendre un script executable depuis n'importe ou [resolu]
Salut j'ai tourver deux script sur le net (que je vous conseille)
Le premier permet d'utiliser dir au lieu de ls
:
#!/bin/sh
# DIR - pretend we're the DIR command in DOS and display the contents
# of the specified file, accepting some of the standard DIR flags
usage()
{
cat << EOF >&2
Usage: $0 [DOS flags] directory or directories
Where:
/D sort by columns
/H show help for this shell script
/N show long listing format with filenames on right
/OD sort by oldest to newest
/O-D sort by newest to oldest
/P pause after each screenful of information
/Q show owner of the file
/S recursive listing
/W use wide listing format
EOF
exit 0
}
postcmd=""
flags=""
while [ $# -gt 0 ]
do
case $1 in
/D ) flags="$flags -x" ;;
/H ) usage ;;
/[NQW] ) flags="$flags -l" ;;
/OD ) flags="$flags -rt" ;;
/O-D ) flags="$flags -t" ;;
/P ) postcmd="more" ;;
/S ) flags="$flags -s" ;;
* ) # unknown flag: probably a dir specifier
break; # so let's get outta the while loop
esac
shift # processed flag, let's see if there's another
done
# done processing flags, now the command itself:
if [ ! -z "$postcmd" ] ; then
ls $flags "$@" | $postcmd
else
ls $flags "$@"
fi
exit0
le deuxieme showfile il montre un fichier a l' ecren
#!/bin/sh
# showfile - show the contents of a file, including additional useful info
width=72
for input
do
lines="$(wc -l < $input | sed 's/ //g')"
chars="$(wc -c < $input | sed 's/ //g')"
owner="$(ls -ld $input | awk '{print $3}')"
echo "-----------------------------------------------------------------"
echo "File $input ($lines lines, $chars characters, owned by $owner):"
echo "-----------------------------------------------------------------"
while read line
do
if [ ${#line} -gt $width ] ; then
echo "$line" | fmt | sed -e '1s/^/ /' -e '2,$s/^/+ /'
else
echo " $line"
fi
done < $input
echo "-----------------------------------------------------------------"
done | more
exit 0
Ma question est la suivante
dir est executable depuis n'importe ou dans mon terminal mais showfile ne marche que dans le fichier ou ll est range.
que faudrait il que j'y rajoute pour qu'il marche depuis n'importe ou
Merci
Dernière modification par sdblepas (Le 18/08/2009, à 05:45)
Hors ligne
#2 Le 17/08/2009, à 14:33
- iuchiban
Re : rendre un script executable depuis n'importe ou [resolu]
Oula, ca se sont des scripts de windowsiens car tu peux remplacer ls par dir avec un alias par exemple :
alias dir='ls -l'
Et ton showfile, bah le owner tu l'as en faisant
ls -l
et ensuite nombre de lignes / caractères :
wc -l <Fichier>
wc -c <Fichier>
Sinon, si tu as un script que tu veux pouvoir utiliser de partout :
- soit tu crées un alias qui lance le script
- soit tu rajoutes un lien symbolique dans /usr/bin
- soit tu modifies ton PATH pour ajouter le chemin où se trouve ton script.
C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.
Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.
Hors ligne
#3 Le 17/08/2009, à 14:36
- sdblepas
Re : rendre un script executable depuis n'importe ou [resolu]
Merci
Hors ligne
#4 Le 17/08/2009, à 19:43
- Link31
Re : rendre un script executable depuis n'importe ou [resolu]
Oula, ca se sont des scripts de windowsiens car tu peux remplacer ls par dir avec un alias par exemple :
alias dir='ls -l'
Même pas besoin, "dir" est déjà une commande...
Hors ligne