[英]open file if it exists, otherwise, create a new one and open it
我目前已設置以下別名:
alias emacs='open -a Emacs'
但是很明顯,如果文件不存在,它將給我一個錯誤。 有沒有一種方法可以更改此別名,使其基本上說“如果文件存在,請在Emacs中將其打開,否則,請先創建文件,然后在Emacs中將其打開?”
謝謝!
使用函數而不是別名。 函數可以完成別名可以做的所有事情,甚至更多。
emacs() {
if [ ! -f "$1" ]; then
touch "$1"
fi
open -a Emacs "$1"
}
這應該適用於一個文件。 對於多個文件,您可以使用它。
emacs() {
for file; do
if [ ! -f "$file" ]; then
touch "$file"
fi
done
open -a Emacs "$@"
}
您可以使用--args
選項為open
命令考慮一個別名,如下所示:
alias emacs='open -a Emacs --args= '
然后將其稱為:
emacs $PWD/file.txt
按照每個man open
:
--args
All remaining arguments are passed to the opened application in the argv parameter
to main(). These arguments are not opened or interpreted by the open tool.
或使用以下命令創建一個名為omacs的小腳本:
#!/bin/bash
for f in $*; do if [ -f $f ]; then open -a Emacs $f; else touch $f; open -a Emacs $f; fi; done
並創建這個別名
alias emacs='omacs'
處理多個文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.