Wie kann ich ein Bash-Skript erstellen, das den Befehl ls -l für ein bestimmtes Argument verwendet? Ich habe ein Textdokument, das mein Shebang usw. enthält, aber wenn ich den Befehl ls -l hinzufüge, funktioniert es nur auf meinem cwd. Angenommen, mein Skript ist scr. Wenn ich ./scr ausführe, kann ich kein Argument eingeben und es führt einfach ls -l auf meinem cwd aus. Ich muss in der Lage sein, dem Befehl ls -l ein Verzeichnis als Argument zu geben.
Antwort1
Wenn Sie ls -l "$@"
Ihr Skript einfügen, werden alle dem Bash-Skript übergebenen Argumente an den folgenden ls -l
Befehl weitergegeben:
#!/bin/bash
ls -l "$@"
Verwenden:
Chris@Chris-PC:~/test$ ./scr.sh
total 4
-rwxrwxr-x+ 1 Me None 21 Feb 15 22:02 scr.sh
Chris@Chris-PC:~/test$ ./scr.sh /
total 489
drwxr-xr-x+ 1 Chris None 0 Feb 7 17:09 bin
drwxr-xr-x+ 1 Chris None 0 Oct 1 2014 dev
drwxr-xr-x+ 1 Chris None 0 Feb 7 17:09 etc
drwxrwxrwt+ 1 Chris None 0 Apr 13 2015 home
drwxr-xr-x+ 1 Chris None 0 Feb 7 17:09 lib
dr-xr-xr-x 10 Chris None 0 Feb 15 22:03 proc
drwxr-xr-x+ 1 Chris None 0 Apr 7 2015 sbin
drwxrwxrwt+ 1 Chris None 0 Feb 15 22:02 tmp
drwxr-xr-x+ 1 Chris None 0 Dec 27 14:16 usr
drwxr-xr-x+ 1 Chris None 0 Dec 3 2014 var
Chris@Chris-PC:~/test$