zsh: =() 実行権限に置き換えられました

zsh: =() 実行権限に置き換えられました

このコマンドの実行可能ファイルを提供する必要があります。

aria2c “some-url” —on-download-complete =(echo “!#/usr/bin/env bash
 touch success”)

可能ですか?そうでなければ、このようなことを可能にするために実装できるヘルパー機能はありますか?

ベストアンサー1

一時ファイルを実行できません。

% stat -f '%Sp' =(echo echo echo)             
-rw-------

だから何とか次のように表示する必要があります

#!/usr/bin/env zsh

TMPPREFIX=/because/tmp/is/mounted/noexec/on/my/system/tmp/zsh

fakearia () { $1 }

() {
   chmod +x $1
   fakearia $1
} =(<<EOF
#!/bin/sh
echo echo
EOF
)

ここでは、匿名関数を介して実行されます。これは一時ファイルの範囲をよりよく指定するのに役立ち、ファイル名に対して必要な数のコマンドを実行できます。

おすすめ記事