Skrivet av Lady:
Alias går ej att skapa genom ett skript för där sätter skript funktionen stop för.
Det andra sättet är att lägga den i /usr/local/bin vilket kräver ändå att man ger rättigheten att lägga filen där.
Jag tror att du måste vara mer utförlig med vad du vill göra. Var snäll att skriv extremt tydligt vad du vill göra och ett exempel på det.
Jag har aldrig hört att man kan göra alias av filer? och varför skulle man vilja göra det?
alias använder jag till att göra komplicerade kommandon kortare, som tex:
alias lsmore='ls --color -lah |more'
Det går alldeles utmärkt att lägga in i ett script om du vill:
#!/bin/bash
alias lsmore='ls --color -lah |more'
samt gör det körbart: chmod 755 myScript.sh
--------------------
men det vanligaste sättet är att lägga in det i .bashrc:
Här läggs alias in globalt för alla användare:
echo "alias lsmore='ls --color -lah |more'" | sudo tee -a /etc/bash.bashrc
eller
sudo -s
echo "alias lsmore='ls --color -lah |more'" >> /etc/bash.bashrc
eller så kan du lägga in alias i din egen hemkatalog som endast din hem-användare använder:
echo "alias lsmore='ls --color -lah |more'" ~/.bashrc
~/ betyder: /home/minAnvändare
~/.bashrc betyder /home/minAnvändare/.bashrc
och .bashrc i din egen hemkatalog körs varje gång du öppnar en terminal, så då kommer alias alltid att köras, eller annat du lägger där.
----------------------------
du kan skapa ett skript i /etc/local/bin/myScript.sh (bli root först):
echo "#!/bin/bash" | sudo tee -a /etc/local/bin/myScript.sh
echo "touch /etc/local/bin/myNewFile.txt" | sudo tee -a /etc/local/bin/myScript.sh
sudo chmod 755 /etc/local/bin/myScript.sh
nu kan alla köra scriptet, problemet är nu att när skriptet körs utan root-privilegier så kan filen /etc/local/bin/myNewFile.txt inte skapas
Det kan du lösa med att sätta på "SUID", även kallad "sticky-bit" på skriptet:
sudo chmod u+s /local/bin/myScript.sh
Detta gör att skriptet kan köras med dom rättigheterna som root har, utan att behöva ange lösenordet för root eller behöva logga in som root eller köra sudo. Dvs en helt vanlig användare kan nu köra skriptet /etc/local/bin/myScript.sh
och filen /etc/local/bin/myNewFile.txt kommer att skapas.