вот список команд, которые соответствуют критериям, dpkg только работает на базирующиеся системы debian все же. В Mac/FreeBSD я не уверен, что было бы лучшим методом, но это должно быть хорошим началом. Ни один из них не должен быть установлен в новой установке человечности.
Это дает Вам полный список установленных пакетов и там версии с кратким описанием.
dpkg -l >> pkg.info
lshw в человечности имеет опцию исключить уязвимую информацию
lshw -sanitize
Это просто показывает информацию о версии о человечности
lsb_release -a
Информация о памяти
free
Моя рекомендация состоит в том, чтобы сделать сценарий, который сохраняет всю эту информацию в отдельные .info файлы, затем размещает их в файл tar для легкого набора. после "dpkg-l" можно поместить шаблон для соответствия определенным пакетам, для которых Вы хотите информацию. "dpkg-p" показывает Вам очень подробную информацию об определенном пакете как "dpkg-p удар"
Если вы используете RVM, просто поместите файл с именем .rvmrc
в каталог вашего проекта со следующим содержанием:
rvm use ruby 1.9.x@gemset
Для вашего второго проекта это то же самое, просто измените вызов rvm
.
Псевдонимы могут быть вам полезны. Вы можете создать псевдоним
для каждого конкретного каталога и команды, которую нужно выполнить. Итак, для двух приведенных вами примеров это будет:
alias ticketapp='cd /proj/tickecting_app && rvm use ruby 1.9.x@gemset'
alias feedapp='cd /proj/rss_feed_app && rvm use ruby 2.1.x@gemset'
Итак, в следующий раз вам нужно будет указать только псевдоним
(также не нужно указывать cd
), то есть ticketapp
и feedapp
в приведенном выше случае.
Чтобы сделать ваши псевдонимы постоянными, просто:
vim ~ / .bashrc
и укажите эти псевдонимы как есть в файле .bashrc
.
[mikeserv@localhost ~]$ PS1=$PS1'$(
[ ${last_hist=\!} -ne \! ] && {
h=$(history 1)
[ -n "${h#"${h##* cd *}"}" ] &&
. ./.dircmd >&2 2>/dev/null
})${0##*["$0"$((last_hist=\!))]*}'
[mikeserv@localhost ~]$ cd .
[mikeserv@localhost ~]$
[mikeserv@localhost ~]$ echo
[mikeserv@localhost ~]$ cat <<\DIRCMD >.dircmd
echo this is my home directory
> DIRCMD
[mikeserv@localhost ~]$
[mikeserv@localhost ~]$ echo
[mikeserv@localhost ~]$ cd .
this is my home directory
[mikeserv@localhost ~]$
Что-то подобное должно работать в системе POSIX - хотя я думаю, что только bash
требует \ backslash перед! Bang, как это. bash
, похоже, обновляет историю таким образом, что не работает с fc
- который является переносимым - но работает с историей
. В других оболочках бит history 1
должен быть заменен на fc -l -1
, но bash
, я полагаю, выполняет эту команду. Это было довольно неприятно.
В любом случае, каждый раз, когда отображается приглашение, оно определяет переменную $ last_hist
как номер истории для последней команды. Это делается в поле соответствия при подстановке параметра, которая всегда не будет равняться ничему, поэтому это не отображается в подсказке.
Проверка fc
просто гарантирует, что последний номер истории действительно увеличился - например, вы не просто нажали ввод или что-то еще. Он также проверяет, была ли последняя команда cd
. Если оба верны, он пытается .
источник файла в текущем каталоге с именем .dircmd
. Если он существует, он запускается. Если нет, ну что ж.