3 ms·
The discoverability aspect of this reminds me quite a bit of working on a Cisco IOS command line. At any point while typing a command, you can mash the ? key, a
by wrigby 7y ago
The discoverability aspect of this reminds me quite a bit of working on a Cisco IOS command line. At any point while typing a command, you can mash the ? key, and the shell will print out a list of acceptable inputs given what you've already typed (this example stolen directly from Cisco's docs[1]):
Router# configure ?
memory Configure from NV memory
network Configure from a TFTP network host
overwrite-network Overwrite NV memory from TFTP network host
terminal Configure from the terminal
<cr>
It's really quite a great experience.
1: https://www.cisco.com/en/US/docs/general/Test/dwerblo/broken_guide/cli.pdf https://www.cisco.com/en/US/docs/general/Test/dwerblo/broken...
- kevin_nisbet 7y agoYea, I've had it in the back of my mind to try and find or build a cisco/juniper/etc style cli lib for awhile. It's about the most efficient design I've seen for new users, where I could get a new engineer productive quickly, and for users who don't login or use the cli often, it's quick and easy to be productive quickly.
- macintux 7y agoI recall working on a Pix firewall, which IIRC was a product Cisco acquired from someone else and had something IOS-like, and a true Cisco IOS router more or less simultaneously. The difference in usability between the two was quite notable, exactly for that reason.
- kragen 7y agoIn a previous life I wrote (about a third of) a system that configured routers by sending them IOS commands over telnet. It didn't seem like an improvement over SNMP to me — we configured most routers over SNMP, but couldn't for the Cisco IOS ones — but it's definitely a better way to navigate a menu tree than the traditional [1] Configure from NV memory [2] Configure from a TFTP network host [3] Overwrite NV memory from TFTP network host [0] Return to previous menu Enter your selection> | For things that don't fit well into a hierarchical tree of selections augmented with bureaucratic forms — either because it isn't obvious what category you're going to find something in (why is "Preferences" on the "Edit" menu‽) or because it involves operations on more than one object at a time, or creating objects that don't exist yet — the improvement is zero or negative. This appears even in the above example: you can get configuration data from three places and send it to two places (running-config and startup-config), but only four of the six combinations of source and destination are available. If you want to overwrite NV memory from the terminal, you first "configure terminal", and when you're done, you use a totally different command, "copy running-config startup-config", to overwrite NV memory. And there's a third unrelated command to send a configuration to your terminal, "show running-config" (or, as you would expect, "show startup-config" or for that matter "sh start".) When it comes to things like "ip route 10.2.0.0 255.255.0.0 10.1.0.2" I really don't want to be using the CLI interactively; I want to be using a text editor so that I can copy the line for 10.4.0.0/16 which goes through the same router and just change 4 to 2, and then I can diff the config with the config I'm setting on the other router and see if the differences are only the intended differences. But if I were using it interactively, it would sure be nice to be able to move the damn cursor field by field rather than character by character and see some kind of real-time indication that 10.1.0.2 is not a valid netmask if I get the order of fields wrong.
- scaglio 7y agoI agree, this aspect of CLUI reminds of IOS CLI, which in my opinion is one of the greatest example of command lines. Every command is immediately understandable and, most importantly, there are only a few key commands. For IT people: it's the opposite of Brocade FabricOS early versions. There were too many commands with similar confusing syntax. And NO autocompletion in many cases.
- eeZah7Ux 7y agoCompared to other routers, Cisco has one of the least friendly CLIs