Hello, I have never used any CLI other than Cisco so i am curious what useful and creative knobs and bolts are available for other network appliance Vendors. I guess what makes *NIX CLI/Shell so superior is that you can advanced stuff from the CLI using sed, awk and all the great tools there so maybe this is also one thing missing. Regards, Kim
On Oct 14, 2012, at 1:42 PM, Kasper Adel <karim.adel@gmail.com> wrote:
Hello,
I have never used any CLI other than Cisco so i am curious what useful and creative knobs and bolts are available for other network appliance Vendors.
Eh??
I guess what makes *NIX CLI/Shell so superior is that you can advanced stuff from the CLI using sed, awk and all the great tools there so maybe this is also one thing missing.
Unix philosophy says a program should do only one thing and do it well. The Unix shell/CLI allows one to solve problems by sewing together a sequence of small, specialized programs by piping the output of a simple shell command to another shell command to solve problems.
Regards, Kim
On Sun, Oct 14, 2012 at 5:55 PM, Rodrick Brown <rodrick.brown@gmail.com> wrote:
On Oct 14, 2012, at 1:42 PM, Kasper Adel <karim.adel@gmail.com> wrote:
Hello,
I have never used any CLI other than Cisco so i am curious what useful and creative knobs and bolts are available for other network appliance Vendors.
Eh??
I guess what makes *NIX CLI/Shell so superior is that you can advanced stuff from the CLI using sed, awk and all the great tools there so maybe this is also one thing missing.
Unix philosophy says a program should do only one thing and do it well. The Unix shell/CLI allows one to solve problems by sewing together a sequence of small, specialized programs by piping the output of a simple shell command to another shell command to solve problems.
this is correct. however, baring the utilities, the unix shells are so far ahead of most appliances and windows cmd. my zsh does autocompletion of program parameters, hosts in the hosts file, directories over scp, etc. i know what type of repo i'm in and if git/hg, i know what branch as it is put in my path with a zle script. my autocomplete is case insensitive as well and i have a visual representation of options i can tab through when i autocomplete. if there is a hardware vendor that doesn't use *nux that is at this level, i'd sure like to know. as it is, i think that good kernels (along with the rest of the stack) are so hard to develop that i don't hardware vendors are likely to want to put much money into developing their own anymore when nice choices are available for free. ie, vyatta (though i disagree with them using linux over bsd because of the network stack)
On Sun, Oct 14, 2012 at 07:41:01PM +0200, Kasper Adel wrote:
I have never used any CLI other than Cisco so i am curious what useful and creative knobs and bolts are available for other network appliance Vendors.
Junos OS has: - Multi-level hierarchical configuration with absolute or relative configuration editing, comments (annotations), and XML support. Hierarchical configuration: [edit] user@device# show | find interfaces interfaces { ge-0/0/0 { description "foo"; flexible-vlan-tagging; encapsulation flexible-ethernet-services; unit 10 { description "bar"; vlan-id 10; family inet { address 10.1.2.3/24; } } } } Absolute (from the root of the configuration tree) editing: [edit] user@device# set interfaces ge-0/0/0 description "foo" [edit] user@device# set interfaces ge-0/0/0 flexible-vlan-tagging [edit] user@device# set interfaces ge-0/0/0 encapsulation flexible-ethernet-services [edit] user@device# set interfaces ge-0/0/0 unit 10 description "bar" [edit] user@device# set interfaces ge-0/0/0 unit 10 vlan-id 10 [edit] user@device# set interfaces ge-0/0/0 unit 10 family inet address 10.1.2.3/24 Relative (from any level in the configuration tree) editing: [edit] user@device# edit interfaces [edit interfaces] user@device# edit ge-0/0/0 unit 10 [edit interfaces ge-0/0/0 unit 10] user@device# show description "foo"; vlan-id 10; family inet { address 10.1.2.3/24; } [edit interfaces ge-0/0/0 unit 10] user@device# set vlan-id 20 [edit interfaces ge-0/0/0 unit 10] user@device# show | match vlan-id vlan-id 20; - Non-immediate configuration editing with commit/rollback functionality. - The ability to pre-configure hardware that isn't installed yet. - Configuration diff (compare), patch, merge, replace, etc. [edit interfaces ge-0/0/0 unit 10] user@device# set family inet mtu 9000 [edit interfaces ge-0/0/0 unit 10] user@device# show | compare [edit interfaces ge-0/0/0 unit 10 family inet] - mtu 1500; + mtu 9000; - Template & derived configurations (configuration groups, apply-groups, apply-path, interface-ranges which support GLOBs/regular expressions, etc.) - Scripting with Op Scripts (create CLI command extensions), Event Scripts (react to device events), and Configuration Scripts (modify the to-be-committed configuration in various ways). - Piping ala UNIX: user@device> show configuration | ? Possible completions: compare Compare configuration changes with prior version count Count occurrences display Show additional kinds of information except Show only text that does not match a pattern find Search for first occurrence of pattern hold Hold text without exiting the --More-- prompt last Display end of output only match Show only text that matches a pattern no-more Don't paginate output request Make system-level requests resolve Resolve IP addresses save Save output text to file trim Trim specified number of columns from start of line user@device> show configuration | display ? Possible completions: changed Tag changes with junos:changed attribute (XML only) commit-scripts Show data after commit scripts have been applied detail Show configuration data detail inheritance Show inherited configuration data and source group omit Emit configuration statements with the 'omit' option set Show 'set' commands that create configuration xml Show output as XML tags
I guess what makes *NIX CLI/Shell so superior is that you can advanced stuff from the CLI using sed, awk and all the great tools there so maybe this is also one thing missing.
and if you really need the UNIX shell, Junos OS has that too with sed, awk, etc.: user@device> start shell %
participants (4)
-
Chuck Anderson
-
Kasper Adel
-
Rodrick Brown
-
shawn wilson