Назначение оболочки — считывать команды и выполнять их в интерактивном режиме или из сценария. В этом контексте я всегда думал о source
как об указании источника команд, которые оболочка должна выполнять (, возвращаясь к текущему источнику после завершения ).
Билл Джой (, который представил source
в оболочке C ), определил команду таким образом:
The source command causes the shell to read commands from a specified file. It is most useful for reading files such as .cshrc after changing them.
#!/bin/sh
# The first and only arg is the name of the VM
[ -z "$1" ] && echo "Error: VM name was not provided" >/dev/stderr && exit 1
vm="$1"
virsh start "$vm"
sleep 10
virsh reboot "$vm"