Простой
p=`/bin/ls`
будет достаточно, хотя я предпочитаю конструкцию $()
, так как она легко вкладывается:
pax$ p=$(/bin/ls)
pax$ echo $p
clients.dat clientupdate.sh
Что делает set
(после обработки всех допустимых ключей для установки атрибутов оболочки, которых нет), так это присвоение параметров аргументам $n
:
pax$ set p = `/bin/ls`
pax $ echo xx $1 xx $2 xx $3 xx $4 xx $5
xx p xx = xx clients.dat xx clientupdate.sh xx xx
со страницы man bash_builtins
:
Любые аргументы, оставшиеся после обработки параметров, обрабатываются как значения для позиционных параметров и присваиваются по порядку $1, $2, ... $n
.