vty: Optionally Set/replace cfg file during cmd 'write file'

This way if the process is started with no file associated (eg. no -c
param and default cfg path doesn't exist), config can be later saved
into a file by passing the parameter. Otherwise, until now this message
was displayed:
Can't save to configuration file, using vtysh.

Related: OS#4024
Change-Id: I38edcf902a08b6bd0ebb9aa6fc1a7041421af525
diff --git a/src/vty/command.c b/src/vty/command.c
index 35169eb..0d24b66 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -2927,9 +2927,10 @@
 /* Write current configuration into file. */
 DEFUN(config_write_file,
       config_write_file_cmd,
-      "write file",
+      "write file [PATH]",
       "Write running configuration to memory, network, or terminal\n"
-      "Write to configuration file\n")
+      "Write to configuration file\n"
+      "Set file path to store the config, or replace if already exists\n")
 {
 	char *failed_file;
 	int rc;
@@ -2943,6 +2944,9 @@
 		}
 	}
 
+	if (argc == 1)
+		host_config_set(argv[0]);
+
 	if (host.config == NULL) {
 		vty_out(vty, "Can't save to configuration file, using vtysh.%s",
 			VTY_NEWLINE);