TinyCore Linux & RVM

Это похоже install -D команда на самом деле, что я хочу.

Страница справочника:

- D создают все ведущие компоненты DEST кроме последнего, затем копируют ИСТОЧНИК в DEST

Работает отлично, кроме Вас должны указать каждый файл индивидуально.

7
11.09.2011, 11:58
2 ответа

Похоже, что один из сценариев работает под /bin/sh но использует расширенные функции удара, возможно <<< или <(. У Вас, по-видимому, есть пепел как /bin/sh; это законно (и пепел в известной мере быстрее и использует меньше памяти, чем удар, который является, почему много дистрибутивов не помещают удар как /bin/sh), но иногда Вы сталкиваетесь со сценариями, которые полагаются на удар, все же запускаются с #!/bin/sh.

То, что Вы имеете $SHELL набор для избиения не важен, каждый сценарий выполняется оболочкой, обозначенной на первой строке (хижина, здесь #!/bin/sh). У меня был беглый взгляд на сценарии RVM, и он похож на все те, которые полагаются на расширения удара, правильно запускаются с #!/usr/bin/env bash. У Вас есть предшествующее существующее ~/.rvm? Если так, попытайтесь переместить его из пути.

Можно получить трассировку выполнения для сценария оболочки путем выполнения оболочки с -x опция. Таким образом выполненный bash -x ./rvm и посмотрите, где ошибка происходит. Если ошибка происходит в сценарии, названном косвенно от основного rvm сценарий, попытка добавить set -x в других сценариях также (сразу ниже #! строка), для наблюдения трассировки выполнения для них. Это должно помочь определить местоположение незаконного сценария.

1
27.01.2020, 20:19

Ваша крошечная установка Linux Core Linux, вероятно, имеет устанавливаемую минимальную оболочку. Это, вероятно, Bitebox . Вы можете проверить это, проверив, будет ли / bin / sh для чего-то другого:

ls -l /bin/sh
lrwxrwxrwx    1 root     root             7 Dec 15 20:52 /bin/sh -> busybox

, поскольку Tiny Core Linux загружает голые минимальные ОС в ОЗУ, это желательно. Однако, если вам нужна более полнофункциональная оболочка, вы можете установить его через браузер приложений (см. Список доступных приложений , версия командной строки браузера приложений является TCE-AB ). Tiny Core Linux в настоящее время имеет: Bash и TCSH .

Для установки Bash:

tce-load -wi bash.tcz

Оболочка по умолчанию все еще / bin / sh , однако вы можете порождать оболочку Bash, запущенную Bash изнутри него.

Чтобы установить TCUSER Оболочка по умолчанию:

which bash | sudo tee -a /etc/shells > /dev/null
sudo sed -i "/$(cat /etc/sysconfig/tcuser)/ s#:[^:]\+\$#:$(which bash)#" /etc/passwd

Вы можете также установить GNU COREUTILS , если вы ищете больше стандартных утилит GNU для использования в Bash Скрипты также:

tce-load -wi coreutils.tcz
4
27.01.2020, 20:19

Теги

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