Scripte von jedem Pfad aus aufrufbar

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Scripte von jedem Pfad aus aufrufbar

Beitrag von Duff » 10.12.2005 20:32:48

Hallo,

ich möchte, dass ich Scripte von jedem Pfad aus aufrufen kann. Sprich ich habe ein script im Verzeichnis ~/scripts/zum_test liegen und möchte es auch aus dem Verzeichnis ~ aufrufen können.

Des Weiteren möchte ich nicht immer ./zum_test sondern nur zum_test eingeben müssen.

Wo und was muss ich eintragen?
Habe mal versucht es über die .profile im Homeverzeichnis des root users zu machen, funktioniert aber irgendwie nicht.
Oh, yeah!

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.12.2005 20:36:12

Du musst das Verzeichnis zum Skript in die PATH Variable aufnehmen, am besten in Deiner .bashrc:

Code: Alles auswählen

export PATH=$PATH:/pfad/zu/meinem/skript
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 10.12.2005 20:40:51

Danke für die schnelle Antwort.

Das habe ich gemacht, funktioniert aber leider immer noch nicht.
Muss ich noch was beachten?

Code: Alles auswählen

# ~/.bashrc: executed by bash(1) for non-login shells.

export PS1='\h:\w\$ '
umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

export PATH=$PATH:/home/daniel/scripts/screenshot
Oh, yeah!

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.12.2005 20:42:30

Nicht den Pfad zum kompletten Skript, sondern nur zu dem Verzeichnis, indem es liegt...

Also wenn Dein Skript "/home/daniel/scripts/screenshot" heisst, musst Du "/home/daniel/scripts" an den Pfad anhängen.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 10.12.2005 20:51:04

Super, funktioniert!!!

Danke!
Oh, yeah!

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 11.12.2005 01:00:42

erstell dir in deinem Homeverzeichnis den Ordner bin, kopier deine Screenshot Datei da rein und häng ~/bin an $PATH an.
Damit machst du des wie die Profis ;)

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 11.12.2005 09:10:49

Verstehe den Vorteil noch nicht so ganz!
Oh, yeah!

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 11.12.2005 10:12:44

@TorstenS
wo liegt der offensichtliche Vorteil deiner Variante gegenüber der oben von Patrick aufgezeigten? das selbe Prinzip bis auf die Tatsache das du den FHS mißachtest was es nicht einfacher macht für jemanden der an das system kommt.

markus

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 11.12.2005 12:58:52

@meandthesell
Der Vorteil ist, dass ich mir gleich angewöhne eigene Scripte in einem bin Verzeichnis abzulegen. Wenn er nach dem erfolgreich laufenden Screenshot Programm nun noch einige Scripte zum Konvertieren von Bildern oder Webgalerien codet - soll er dafür jedesmal seinen Pfad verlängern? Das wäre weder übersichtlich noch vereinfacht es die Datensicherung. Spätestens wenn man mehr als 3 Shellzugänge hat, möchte man sämtliche eigene Scripte immer dabei haben. Da ist es einfach und produktiv ein 'scp USER@HOST:bin/* ~/bin' auszuführen oder eben seine Scripte gleich im cvs zu verwalten und ein/auszuchecken.

Wenn die Scripte systemweit einzusetzen sind, gehören sie nach FHS sicherlich nach /usr/local/bin.
Wenn er sich aber die Maschine/n (so wie ich gelegentlich) mit mehreren Leuten teilt, dann hat er dort keine Schreibberechtigung. Dann gehören eigene Scripte ins ~/bin.

Es kommt eben drauf an wo und wie man arbeitet.

Antworten