Jak sprawić, by mój skrypt był wykonywalny?

0

Jestem nowy w systemie Linux i napisałem skrypt, aby przenieść pliki do określonego folderu (fałszywe usunięcie).
Będzie to jednak tylko mvplik w tym samym folderze co mój skrypt. Czy istnieje sposób, aby ten plik wykonywalny mógł usunąć dowolny plik bez względu na lokalizację?

To znaczy:

DELETE test .. (test znajduje się w folderze ~ / my-dokumenty) (usuń skrypt w folderze ~ / my-applications / bin)

Skrypt znajduje się poniżej.

echo do you want to delete this? (yes/no) \n
read ans \n
case "$ans" in
  Y¦y¦yes ) echo "$readlink -f "$1")" >>"$HOME/DustbinLog" && mv "$1" "$HOME/my-applications/bin/dustbin";; 
  N¦n¦no echo "File not moved!";;     
esac
Yunus1979
źródło
2
Powłoka nie może odgadnąć, gdzie jest plik, zwłaszcza że w różnych folderach mogą znajdować się pliki o tej samej nazwie. Musisz podać ścieżkę do pliku, który chcesz usunąć. Jeśli jest w ~ / uruchom moje dokumenty DELETE ~/my-documents/test.
IanC
2
Myślę też, że może to być błąd podczas pisania pytania (ponieważ najwyraźniej przetestowałeś skrypt i działał on na bieżącym folderze), ale w kodzie są pewne błędy. Znak nowej linii znaki, oroperator powinien być ( |nie ¦), druga opcja od casebrakuje ). Użyłbym również domyślnego przypadku w odpowiedzi „nie” ( *)). W ten sposób, jeśli użytkownik wpisze coś innego niż Y / y / tak, plik nie zostanie przeniesiony, a komunikat zostanie wyświetlony.
IanC
To może Cię również zainteresować: askubuntu.com/q/213533/457562
Nonny Moose
Wielkie dzięki. tak, masz rację. Tęsknię za wpisaniem tutaj mojego kodu. i dziękuję za sugestię na
gwiazdce

Odpowiedzi:

0

Po prostu musiałem być w pwd, aby polecenie DELETE działało lub podać dokładną nazwę ścieżki .. dzięki ..

Yunus1979
źródło
1
Witamy w Ask Ubuntu! Zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje na temat tego, jak to zrobić. (Zobacz także Jak napisać dobrą odpowiedź? Zawiera ogólne porady na temat tego, jakie rodzaje odpowiedzi są uważane za najcenniejsze na AskUbuntu.)
David Foerster,