RKD command-line usage is highly inspired by GNU Make and Gradle, but it has its own extended possibilities to make your scripts smaller and more readable.
- Tasks are prefixed always with “:”.
- Each task can handle it’s own arguments (unique in RKD)
- “@” allows to propagate arguments to next tasks (unique in RKD)
Tasks arguments usage in shell and in scripts¶
Executing multiple tasks in one command:
rkd :task1 :task2
Multiple tasks with different switches:
rkd :task1 --hello :task2 --world --become=root
Second task will run as root user, additionally with
Tasks sharing the same switches
Both tasks will receive switch “–hello”
# expands to: # :task1 --hello # :task2 --hello rkd @ --hello :task1 :task2 # handy, huh?
Advanced usage of shared switches
Operator “@” can set switches anytime, it can also clear or replace switches in NEXT TASKS.
# expands to: # :task1 --hello # :task2 --hello # :task3 # :task4 --world # :task5 --world rkd @ --hello :task1 :task2 @ :task3 @ --world :task4 :task5
Written as a pipeline (regular bash syntax)
It’s exactly the same example as above, but written multiline. It’s recommended to write multiline commands if they are longer.
rkd @ --hello \ :task1 \ :task2 \ @ :task3 \ @ --world \ :task4 \ :task5