我正在运行一个shell脚本,将其传递给sh
。例如:
curl commands.io/count-duplicate-lines-in-a-file | sh
我能弄清楚如何传递文件名的唯一方法是使用:
read file </dev/tty
您可以在此处查看脚本: Count duplicate lines in a file
是否有另一种方法可以将文件名作为参数传递给脚本而无需先将其保存到本地文件,设置权限并运行它?
您的想法是,您可以使用Monitor捕获终端输入/输出,然后使用curl
管道传输到sh
从命令行重新运行它。
答案 0 :(得分:1)
使用-s
选项:
echo 'echo "$@"' | sh -s 1 2 3 4
输出:
1 2 3 4
另一种方法是在shell支持的情况下使用进程替换:
bash <(echo 'echo "$@"') 1 2 3 4