很多時候需要批量跑腳本執行任務,但又不想分發再執行,而是直接一條命令下去就跑腳本,該怎么玩比較嗨?
例如以下腳本:
#!/bin/bash
echo "$@"
echo "$2"
date
1、管道
[root@ ~]# curl -s http://127.0.0.1/a.sh | sh -s 1 2 3 4
1 2 3 4
2
Fri Mar 1 15:33:08 CST 2019
-s后面跟的是腳本的參數,如果有。
2、source
[root@ ~]# source <(curl -s http://127.0.0.1/a.sh) 1 2 3 4
1 2 3 4
2
Fri Mar 1 15:33:37 CST 2019
()外面跟的是腳本的參數,如果有
3、ssh
[root@ ~]# ssh -p 22 -o StrictHostKeyChecking=no 127.0.0.1 'bash -s' < /data/sh/a.sh 1 2 3 4
1 2 3 4
2
Fri Mar 1 15:44:39 CST 2019