単純なエイリアスを作成しようとしています:
alias draw="pinta &> /dev/null & disown"
ここでの意図は明らかです。私の問題は、引数を渡すたびに、
bash: disown: file.jpg: no such job
そして、pinta はファイルが読み込まれずに開きます。引数を pinta に渡してタスクを放棄するにはどうすればよいですか?
編集:
次のように引数を明示的に渡してみました。
alias draw="pinta $* &> /dev/null & disown"
しかし結果は同じです
答え1
代わりに関数を使用します:
function draw {
pinta "$@" &> /dev/null & disown
}
ボーナス:"$@"
の代わりにを使用する必要があります$*
。
以下のものがあると仮定します。
function foo {
echo "1: $1"
echo "2: $2"
echo "3: $3"
}
function bar {
echo '$*'; foo $*
echo '$@'; foo $@
echo '"$*"'; foo "$*"
echo '"$@"'; foo "$@"
}
次に、次の操作を試してください。
bar "f o o" bar baz
あなただけが"$@"
適切な行動をとります。