Как вы -ls содержимое другого каталога из текущего каталога, не перечисляя полный путь другого каталога в качестве аргумента командной строки? Мне также нужно отсортировать содержимое каталога по размеру и вывести только размер и имя. Например, у меня есть следующий скрипт оболочки с именем script.sh
:
#!/bin/bash
ls -lS $1 | awk '{print $5, $9}'
-lS перечисляет файлы по размеру, а awk выводит только размер и имя файла в качестве вывода. $ 1 - это аргумент командной строки, но сейчас он может принимать только полный путь к каталогу, чтобы это работало. Например, у меня есть каталог, путь которого /accounts/documents/folder/directory1
.
Чтобы вызвать этот скрипт, я должен набрать $ script.sh /accounts/documents/folder/directory1
, чтобы это сработало. Есть ли что-то, что я могу изменить в своем скрипте, чтобы в командной строке мне нужно было только набрать $ script.sh directory1
, чтобы это работало?
Любая помощь приветствуется!