У меня есть скрипт Linux, который генерирует строку и выводит ее на консоль. Я хочу, чтобы эта строка была именем файла и открыла его для редактирования в vi. Как это может быть сделано?
3 ответа
Вы можете попробовать с:
vi -- "$(your-script)"
Используйте символ backtick для выхода из скрипта: (на том же ключе, что и тильда ~ char)
vi `./script`
И если в выводе есть пробелы, которые вы все еще хотите видеть как один параметр:
vi "`./script` "
Попробуй это:
vi "` echo Это мое новое имя файла .txt` "
Ваш сценарий делает это?
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).