Я сказал бы что самое простое это, чтобы просто использовать rename
команда, которая распространена на многих дистрибутивах Linux. Существует две общих версии этой команды, так проверьте ее страницу справочника для нахождения, какой Вы имеете:
## rename from Perl (common in Debian systems -- Ubuntu, Mint, ...)
rename 's/^TestSR/CL/' *
## rename from util-linux-ng (common in Fedora systems, Red Hat, CentOS, ...)
rename TestSR CL *
Если Вы хотите использовать версию из util-linux-ng в системе Debian, это доступно под именем rename.ul
Попытайтесь искать любую справку для setup
сценарий. Возможно, это шло с a README
файл или это принимают a -h
переключатель (проверяют выполнение ./setup -h
). Довольно правильно написанный сценарий должен позволить Вам изменять каталог установки. Можно сделать что-то как
./setup --prefix=/home/zahir/
или подобный (в зависимости от того, что Вы находите из справки сценария).
Это установит comsol
в Вашем корневом каталоге, в который можно затем переместиться /usr/local
использование sudo
.
Обновление
Вы сообщили, что вышеупомянутый метод работал, но comsol
команда не распознана. Это просто означает, что необходимо добавить местоположение comsol
двоичный файл к Вашему PATH
переменная.
Давайте примем это comsol
был установлен в /usr/local/comsol35
, просто необходимо добавить /usr/local/comsol35/bin
к Вашему PATH
переменная. (Фактический путь в Вашей системе может варьироваться).
Добавить путь к Вашему PATH
переменная:
Просто выполните следующее:
export PATH=$PATH:/usr/local/comsol35/bin
Это изменится PATH
на Вашей текущей сессии только. Для внесения изменения постоянным можно сделать:
echo 'export PATH=$PATH:/usr/local/comsol35/bin' >> ~/.bashrc
Очень важно использовать одинарные кавычки, а не двойные кавычки для вышеупомянутой команды так, чтобы $PATH
добавляется буквально к Вашему .bashrc
и не интерполированный. Необходимо также удостовериться, что Вы используете >>
вместо >
для не уничтожения содержания Вашего .bashrc
.
После выполнения echo
команда, comsol
команда должна быть доступной от любого нового терминала, который Вы открываете. Если Вы хотите внести изменение, вступают в силу в терминале, который Вы раньше выпускали echo
команда, необходимо работать
. ~/.bashrc
(да команда составляет только период),
Существуют некоторые команды, которые не могут быть выполнены через sudo
такой как, по-видимому, Вашsudo ./setup
. Я обычно становлюсь корнем в оболочке следующим образом:
опция 1 - не может поддерживаться в Вашей системе
$ sudo -i
опция 2 - должна быть широко поддержкой
$ sudo su -
После того как Вы выполнили одну из этих 2 команд, Вы являетесь эффективно корневыми в той оболочке и можете выполнить Ваш ./setup
команда. Удостоверьтесь, что Вы изменяете каталоги (cd
) назад туда, где Ваш ./setup
программа запускалась от.
Если необходимо выполнить установку как сами, zahir
, можно сделать каталоги, которые необходимы, чтобы сделать установку, так, чтобы zahir
может установить в них заранее и затем работать ./setup
как zahir
.
$ sudo mkdir -p /usr/local
$ sudo chown -R zahir /usr/local
setup
сценарий на самом деле ожидает, что пользователю, устанавливающему его, позвонят zahir
в то время как этому нужны полномочия пользователя root (или по крайней мере способность создать каталог в /usr/local
).
– Joseph R.
22.08.2013, 16:31
Предположение Mu то, что setup
сценарий читает имя пользователя из Вашей среды. Это, вероятно, проверяет один из $USER
или $USERNAME
переменные среды (это Вар по умолчанию, можно проверить их значение путем выполнения echo $USER
в Вашем терминале). Это, вероятно, содержит строку как
current_user=$USERNAME
Попытайтесь искать файл $USER
:
grep USER setup
Необходимо затем смочь изменить его на zahir
, что-то как:
current_user=zahir
Если бы Вы могли бы отправить сценарий где-нибудь, я был бы рад взглянуть и дать Вам более определенный ответ.
file setup
? Это должен просто быть исполняемый сценарий, другими словами, текст.
– terdon♦
22.08.2013, 17:01
comsol
может также потребовать, чтобы некоторые пакеты Java запустились правильно. – Joseph R. 22.08.2013, 16:58