например User1 до 20
$ mkdir real $ ln -s real virtual $ cd virtual $ pwd /home/username/tmp/virtual $ pwd -P /home/username/tmp/real $ readlink -f . /home/username/tmp/real
например group1 до 50
$ pwd --physical bash: pwd: --: invalid option pwd: usage: pwd [-LP] $ /bin/pwd --physical /home/username/tmp/real $ /usr/bin/env pwd --physical /home/username/tmp/realЧитайте подробнее: [113947]http://linuxpoison.blogspot.co.uk/2009/01/how-to-set-limits-on-users.html#ixzz2vJifNgrT
Вы, кажется, делаете что-то бесконечно сложное. Почему бы не только
dpkg -l curl || apt-get -y -qq install curl > /dev/null 2>&1
вы просили одноклассника в конце концов. Поскольку, по-видимому, все, что вы хотите, состоит в том, чтобы знать, доступно ли Curl
, вы также можете просто сделать
type curl >/dev/null 2>&1 || apt-get -y -qq install curl
Нет смысла проверять, установлен ли пакет и установка, если нет. Либо:
Command Curl
, чтобы пользователь мог предоставить альтернативы, если они чувствуют себя как это. APT-Cache
. Если ни один случай не применяется, то упрощенно устанавливать его напрямую.
В вашем коде две ошибки, одна серьезная, другая не очень:
Вы дважды используете бэктик. Также не используйте черные метки. Используйте подстановку команд следующим образом: $(команда ...)
query=$(dpkg-запрос -W -f '${Status}')
Запрос уже содержит результат вызова команды. Когда вы сейчас выполните
`$запрос`.
теперь вы попытаетесь выполнить результат, который в вашем случае строка, для меня это очень длинная строка, состоящая из install ok installinstall ok installed...
(Costas указал на это)
В результате dpkg-запроса -W -f '${Status}' curl
будет install ok installed
, что не то, что вы проверяете.