Linux
Zsh: =() 替換為可執行權限
我需要給這個命令一個執行檔:
aria2c “some-url” —on-download-complete =(echo “!#/usr/bin/env bash touch success”)
這可能嗎?如果沒有,我可以實現一些輔助函式來使類似的事情成為可能嗎?
臨時文件不可執行,
% 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 )
這里通過一個匿名函式,這也有助於更好地確定臨時文件的範圍,並允許在文件名上發生任意數量的命令。