Я хочу создать файл скидки с цены и открыть его одновременно
$ touch ~/Documents/Ubuntu/drafts.md; open ~/Document/Ubuntu/drafts.md
Решение является громоздким, там ярлык для справлений с такой задачей?
Нет такого ярлыка, По-видимому, можно было использовать Высокий звук +. согласно ответу Sebastian Stark
touch ${filename}
xdg-open <alt>+<.>
Если Ваша оболочка использует libreadline
(который /bin/dash
на Ubuntu не делает, но bash
делает), затем можно использовать тот ярлык.
Можно также создать файл с более коротким количеством символов через bash
:
: > ${filename}; xdg-open ${filename}
В этом случае, :
команда не встроена никакая-op команда, которая только возвращает статус выхода 0 для успеха, но прием здесь - то, что оболочка создает новый или усекает существующий файл, определяемый ${filename}
. xdg-open
открывает упомянутое имя файла в редакторе по умолчанию, так как это будет просто простой файл.
Если Вы хотите пойти еще короче, можно использовать bash
функция расширения истории для многократного использования параметров команды:
: > myfile.txt ; xdg-open !#:1
Если мобильность является беспокойством, необходимо использовать $_
для других оболочек. Конечно, можно превратить их в функцию или исказить и назвать псевдоним или имя функции; назовите его чем-то как mko()
для "делают и открываются":
# function definition to put in ~/.bashrc
mko(){ : > "$1"; xdg-open !#:1 }
# call it as so:
mko ~/Documents/myfile.md
Создание функции также имеет преимущество в добавлении шаблона в файл при необходимости в этом:
mko(){
cat > "$1" <<EOF
### HEADING1
- bullet 1
- bullet 2
EOF
xdg-open "$1"
}
Заметка на полях: в случае, если также необходимо создать каталоги вдоль пути, необходимо использовать mkdir -p
, посмотрите связанный вопрос.
Заметка на полях № 2: ответ десерта на самом деле обращается к очень справедливому замечанию: большинство текстовых редакторов действительно позволяет указывать путь для нового файла как один из их аргументов. Однако в случаях, где файл должен существовать - иначе, Вы добираетесь No such file or directory
ошибка - хорошо, можно использовать этот ответ. Рассмотрите также это >
усекает существующий файл, таким образом, это может быть полезно, где Вы хотите быстро очистить файл и начать добавлять новое содержание.
Большинство (если не все) редакторы автоматически создает файл, если Вы открываете их с именем файла несуществующего. Можно сохранить touch
и просто откройте новый файл непосредственно, например:
nano ~/Document/Ubuntu/drafts.md
vim ~/Document/Ubuntu/drafts.md
leafpad ~/Document/Ubuntu/drafts.md
Это создаст новый пустой файл и откроет его. Как Ваш подход это перестанет работать, если каталог должен быть создан в процессе.