использование обмана удара - init-файл

У меня есть сценарий удара (давайте назовем его /usr/bin/bosh) использование следующей строки хижины:

#!/bin/bash --init-file

Это определяет несколько функций и обычно помещает интерактивную оболочку в среду, где пользователь может управлять набором материала, который я хочу. Это работает вполне прилично. Теперь для интересной части, я хотел бы смочь позволить пользователям использовать этот промежуточный-слой для записи новых сценариев, явно не имея необходимость получить этого. Это вообще возможно?

Я пытался писать сценарий (давайте назовем его /usr/bin/foo) использование строки хижины

#!/usr/bin/bosh

То, которое я думал, будет переписано для выполнения команды

/usr/bin/bosh /usr/bin/foo

который в свою очередь привел бы к

/bin/bash --init-file /usr/bin/bosh /usr/bin/foo

Но это не работает, /usr/bin/foo выполняется, но /usr/bin/bosh не источник перед этим.

Как я могу заставить его получить init файл даже при том, что сценарий не является интерактивным? Или я должен был бы записать сценарий обертки для этого? Я думал о наличии сценария как это

#!/bin/bash
. /usr/bin/bosh
. "$1"

Но это не превратилось бы в интерактивную оболочку, если бы я не указываю сценарий для выполнения, который был бы своего рода позором.

Править
Для разъяснения, что я действительно спрашиваю, как я могу заставить удар получить файл (как - init-файл) независимо, является ли это интерактивным (перед запуском интерактивной части) или не (перед выполнением сценария)? Если нет никакого пути, есть ли какой-либо другой способ решить мою проблему, возможно?

5
задан falstro 29 July 2010 в 14:21
поделиться