У меня есть скрипт Linux, который генерирует строку и выводит ее на консоль. Я хочу, чтобы эта строка была именем файла и открыла его для редактирования в vi. Как это может быть сделано?

3 ответа3

2

Вы можете попробовать с:

vi -- "$(your-script)"
1

Используйте символ backtick для выхода из скрипта: (на том же ключе, что и тильда ~ char)

vi `./script`

И если в выводе есть пробелы, которые вы все еще хотите видеть как один параметр:

vi "`./script` "

Попробуй это:

vi "` echo Это мое новое имя файла .txt` "

0

Ваш сценарий делает это?

var=somestring
echo $var

Это печатает simplestring на консоли

Но это...

var=somestring
date >$var

создаст файл с именем somestring и поместит в него дату и время. Но, может быть, вы хотите быть действительно умным ...

echo -n What file should I use for the log?
read var
exec >$var 2>&1
date

-N говорит эхо не испускать новую строку. Команда exec ничего не выполняет, просто изменяет stdout (# 1) и stderr (# 2). 2> & 1 говорит, что 2 (stderr) идет в то же место, что и 1 (stdout).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .