laoshi skrev:De små backticks (`) kalder en programfunktion f.eks. `date` eller som her `firefox &`
Nu troede jeg lige, at jeg havde forstået en hel masse mere.
I DOS sondrer man mellem interne og eksterne kommandoer. De interne ligger i loadet i ram og har ikke tilknyttet en fil, hvorimod en ekstern kommando altid har tilknyttet en fil, og det er dens fornavn, man kalder med kommandoen.
Så troede jeg lige, at echo var en intern kommando og derfor ikke skulle have små brackets. Men for en sikkerheds skyld, så kørte jeg lige kommandoen "whereis echo" og ups, den har også en fil og det tyder derfor også på, at det er et program. Og hvad er forskellen så egentlig, når det kommer til stykket..? .. Hrmpf..
laoshi skrev:Du behøver ikke være bange for at lægge dine egne scripts i /usr/local/bin som netop er beregnet til den slags. Der er jo en /bin og en /usr/bin til ikke-egne udførbare filer.
Men du kan jo lave en ~/bin til at indeholde scripts som du eksperimenterer med og så vælge først at flytte dem til /usr/local/bin når du er tilfreds med dem.
Det er jo præsist det jeg allerede gør. Min mappe til eksperimenter hedder bare "~/Menu" i stedet for "~/bin"
Prøver du i virkeligheden at fortælle mig, at jeg bør ændre dens navn til "bin" og i givet fald hvorfor ..?
Jeg kan godt se, at navnet "bin" passer bedre til systemets terminologi, men det er jo meningen, at det skal være en brugermappe, som fanger nybegynderens blik og giver lyst til et besøg. Der skal så ligge en readme.fil og en help.fil og lidt andet godt at komme igang på.
Men bliver der engang bevilget en original-PATH til mappen, så er det måske noget skidt, at den indeholder store bogstaver..?
Jeg spekulerer meget over navnevalg og mappestruktur, så du skal ikke putte med en eventuel kritik. Kompatibiliteten skal gerne optimeres krakilsk.
Efter min mening er det altså noget rod, hvis jeg installerer et program under Tilføj/fjern, og det f.eks. ikke kan komme til at lægge en "ff.sh"-fil , fordi min fil med samme navn ligger der i forvejen.
Og så har jeg som sædvanlig nogle flere kommandoer, som driller i scripts. Eller også har det denne gang noget at gøre med min maskine eller noget andet, som jeg ikke ved, for jeg synes, at det virker lidt mystisk.
Jeg har tilføjet "-f" argumentet til "cp" i copytobin.sh , men det hjælper ikke. Det lykkes stadig ikke at overskrive rettighederne på en fil i usr/local/bin
copytobin.sh, som den ser ud lige nu:
Kode: Vælg alt
#!/bin/bash
#
#Denne fil har til formål at opdatere systemet, så menufilerne i mappen "Menu" bliver lagt et sted, hvor der er PATH, og at opdatere tilføjede alias, og at tage backup af filer i mappen "Menu".
#
#
#Nedenstående linje tager backup/kopi af filerne i mappen "Menu" og Kopierer dem til home/mit_brugernavn/Menu/system/menubak
cp ~/Menu/* ~/Menu/system/menubak
#
#
#Nedenstående linje Kopierer alle ".sh" filer fra mappen "Menu" til usr/local/bin hvortil, der default er PATH
sudo cp -f ~/Menu/*.sh /usr/local/bin/
#
#
#Nedenstående linje kalder "aliasupd.sh" , som opdaterer de alias til permanent, som er MANUELT tilføjet i home/mit_brugernavn/Menu/system/aliascfg/.bash_aliases
~/Menu/system/aliascfg/aliasupd.sh
Og
aliasupd.sh vil stadig ikke loade nye alias , uden jeg booter om.
Kommandoerne i aliasupd.sh:
Kode: Vælg alt
#!/bin/bash
cp ~/Menu/system/aliascfg/.bash_aliases ~/
. ~/.bash_aliases
. ~/.bashrc
Det næste script er ikke testet grundigt endnu, og jeg har lidt problemer med at få "sudo" til at virke sikkert via scriptet.
Men du skal altså se, hvad din sidste inspiration blandt andet fører til:
Jeg har kaldt scriptet "
mcm.sh"
Kode: Vælg alt
#!/bin/bash
#Grundstammen i dette script er skaffet til veje via Ubuntu-Danmark.dk https://ubuntudanmark.dk/forum/viewtopic.php?p=39956#p39956
#Dette script er beregnet til at starte Midnight Commander i en ønsket mappe.
if [ -z $1 ]
then
mc
elif [ -n $1 ]
then
arg=$1
fi
case $arg in
"h") mc ~/;;
"d") mc ~/Dokumenter;;
"m") mc ~/Menu;;
"s") sudo mc /;;
"-h") echo "Kommandoen starter Midnight Commander (filhåndtering); mcm h starter MC i hjemmemappen; mcm d i mappen Dokumenter; mcm m i mappen Menu; mcm s starter superbrugermode";;
*) mc $1 $2 $3
esac
Der skal stadig spekuleres meget over sikkerhed og kompatibilitet og filnavnevalg og navne til argumenterne.
Men for tastaturfumlerens brugerkomfort er der nu seriøst ved at blive lagt op til det ene tigersfrempring efter det andet.