Ich muss einen Papierkorb in der Shell erstellen. Der Papierkorb hat folgende Funktionen: get( -g
), put( -p
) und remove from trashcan ( -r
).
Also habe ich versucht, dies () zu kompilieren, gcc -o trashcan.sh
aber ich habe ein bekommen fatal error: no input files
. Ich bin im richtigen Verzeichnis. Ich weiß nicht, was falsch ist. Bitte helfen Sie mir, ich bin neu hier.
#!/bin/bash
mkdir("ti3_trash",S_IRWXU)
clear() {
echo -e "Clear Trashcan? (y|n)"
read -a
if [[ "$a" = "n" ]] || [[ "$a" = "N" ]]; then
exit 0
else
cd ~/ti3_trash && rm -rf files/*
rm -r info/*
fi
}
list() {
echo -e "current contents of the Trashcan:"
ls ~/ti3_trash/files
}
case "$1" in
-p) mv $2 ~/ti3_trash/files
;;
-r) clear
;;
-g) cd ~/ti3_trash/files && mv $2 $HOME
;;
*) list
;;
esac
Antwort1
Sie verwenden das falsche Tool. GCC dient zum Kompilieren von C-Code. Sie erstellen Bash-Code, der zur Laufzeit interpretiert wird. Sie müssen ihm lediglich Ausführungsberechtigungen erteilen. Sehen Sie sich die Manpage für chmod an man chmod
und entscheiden Sie, welche Berechtigungen Sie ihm geben möchten. Oder führen Sie einfach auschmod 711 [your file name]