Добавить аргумент в список аргументов

Из 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

Вы видите разницу между использованием каждого флага?

4
05.11.2017, 21:17
1 ответ

Нет необходимости прибегать к массиву -вы можете манипулировать самими аргументами, используяset --:

$ manipulateArgs() {
  set -- 'my prefix' "$@" 'my suffix'
  for i in "$@"; do echo "$i"; done
}

$ manipulateArgs 'the middle'
my prefix
the middle
my suffix
2
30.06.2021, 04:09

Теги

Похожие вопросы