Из ls
страницы руководства:
-a, --all
do not ignore entries starting with .
-l use a long listing format
Если бы я сделал ls -a
сам по себе:
ryan@docker-ubuntu:~/Docker/Enterprise_Portalv.2.5.1/mysql$ ls -a
. .. docker-compose.yml Dockerfile mysqlAddUser.sh .mysqlAddUser.sh.swp portal_csa_mysql.sql
Если бы я выполнял ls -l
сам по себе:
ryan@docker-ubuntu:~/Docker/Enterprise_Portalv.2.5.1/mysql$ ls -l
total 60
-rw-rw-r-- 1 ryan ryan 377 Mar 16 09:43 docker-compose.yml
-rw-rw-r-- 1 ryan ryan 346 Mar 16 10:00 Dockerfile
-rwxrw-r-- 1 ryan ryan 446 Mar 16 10:13 mysqlAddUser.sh
-rwxr-xr-x 1 ryan ryan 48026 Jan 21 10:30 portal_csa_mysql.sql
Вы видите разницу между использованием каждого флага?
Нет необходимости прибегать к массиву -вы можете манипулировать самими аргументами, используяset --
:
$ manipulateArgs() {
set -- 'my prefix' "$@" 'my suffix'
for i in "$@"; do echo "$i"; done
}
$ manipulateArgs 'the middle'
my prefix
the middle
my suffix