| Skip to content | https://patch-diff.githubusercontent.com/pinggit/crtc#start-of-content |
|
| https://patch-diff.githubusercontent.com/ |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpinggit%2Fcrtc |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpinggit%2Fcrtc |
|
Sign up
| https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=pinggit%2Fcrtc |
| Reload | https://patch-diff.githubusercontent.com/pinggit/crtc |
| Reload | https://patch-diff.githubusercontent.com/pinggit/crtc |
| Reload | https://patch-diff.githubusercontent.com/pinggit/crtc |
|
pinggit
| https://patch-diff.githubusercontent.com/pinggit |
| crtc | https://patch-diff.githubusercontent.com/pinggit/crtc |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Fpinggit%2Fcrtc |
|
Fork
0
| https://patch-diff.githubusercontent.com/login?return_to=%2Fpinggit%2Fcrtc |
|
Star
2
| https://patch-diff.githubusercontent.com/login?return_to=%2Fpinggit%2Fcrtc |
|
2
stars
| https://patch-diff.githubusercontent.com/pinggit/crtc/stargazers |
|
0
forks
| https://patch-diff.githubusercontent.com/pinggit/crtc/forks |
|
Branches
| https://patch-diff.githubusercontent.com/pinggit/crtc/branches |
|
Tags
| https://patch-diff.githubusercontent.com/pinggit/crtc/tags |
|
Activity
| https://patch-diff.githubusercontent.com/pinggit/crtc/activity |
|
Star
| https://patch-diff.githubusercontent.com/login?return_to=%2Fpinggit%2Fcrtc |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Fpinggit%2Fcrtc |
|
Code
| https://patch-diff.githubusercontent.com/pinggit/crtc |
|
Issues
2
| https://patch-diff.githubusercontent.com/pinggit/crtc/issues |
|
Pull requests
0
| https://patch-diff.githubusercontent.com/pinggit/crtc/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/pinggit/crtc/actions |
|
Projects
0
| https://patch-diff.githubusercontent.com/pinggit/crtc/projects |
|
Security
0
| https://patch-diff.githubusercontent.com/pinggit/crtc/security |
|
Insights
| https://patch-diff.githubusercontent.com/pinggit/crtc/pulse |
|
Code
| https://patch-diff.githubusercontent.com/pinggit/crtc |
|
Issues
| https://patch-diff.githubusercontent.com/pinggit/crtc/issues |
|
Pull requests
| https://patch-diff.githubusercontent.com/pinggit/crtc/pulls |
|
Actions
| https://patch-diff.githubusercontent.com/pinggit/crtc/actions |
|
Projects
| https://patch-diff.githubusercontent.com/pinggit/crtc/projects |
|
Security
| https://patch-diff.githubusercontent.com/pinggit/crtc/security |
|
Insights
| https://patch-diff.githubusercontent.com/pinggit/crtc/pulse |
| Branches | https://patch-diff.githubusercontent.com/pinggit/crtc/branches |
| Tags | https://patch-diff.githubusercontent.com/pinggit/crtc/tags |
| https://patch-diff.githubusercontent.com/pinggit/crtc/branches |
| https://patch-diff.githubusercontent.com/pinggit/crtc/tags |
| 3 Commits | https://patch-diff.githubusercontent.com/pinggit/crtc/commits/github/ |
| https://patch-diff.githubusercontent.com/pinggit/crtc/commits/github/ |
| .gitignore | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/.gitignore |
| .gitignore | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/.gitignore |
| README.adoc | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/README.adoc |
| README.adoc | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/README.adoc |
| crtc | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/crtc |
| crtc | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/crtc |
| crtc.conf | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/crtc.conf |
| crtc.conf | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/crtc.conf |
| crtc_hostmap.txt | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/crtc_hostmap.txt |
| crtc_hostmap.txt | https://patch-diff.githubusercontent.com/pinggit/crtc/blob/github/crtc_hostmap.txt |
| README | https://patch-diff.githubusercontent.com/pinggit/crtc |
| https://patch-diff.githubusercontent.com/pinggit/crtc#crtc---a-generic-purposed-expect-script-to-automate-interactive-tasks |
| 1. quick examples | https://patch-diff.githubusercontent.com/pinggit/crtc#quick-examples |
| 1.1. automate device login process | https://patch-diff.githubusercontent.com/pinggit/crtc#automate-device-login-process |
| 1.1.1. configure login info for individual device | https://patch-diff.githubusercontent.com/pinggit/crtc#LOGIN1 |
| 1.1.2. configure login info for a group of device | https://patch-diff.githubusercontent.com/pinggit/crtc#configure-login-info-for-a-group-of-device |
| 1.2. host name resolution | https://patch-diff.githubusercontent.com/pinggit/crtc#host-name-resolution |
| 1.3. automate commands after login | https://patch-diff.githubusercontent.com/pinggit/crtc#automate-commands-after-login |
| 1.3.1. interupting an automation loop | https://patch-diff.githubusercontent.com/pinggit/crtc#interupting-an-automation-loop |
| 1.3.2. quick mode: login, send cmds, and exit | https://patch-diff.githubusercontent.com/pinggit/crtc#quick-mode-login-send-cmds-and-exit |
| 1.4. automate commands with user defined patterns | https://patch-diff.githubusercontent.com/pinggit/crtc#automate-commands-with-user-defined-patterns |
| 1.5. "special" commands | https://patch-diff.githubusercontent.com/pinggit/crtc#special-commands |
| 1.5.1. SLEEP N | https://patch-diff.githubusercontent.com/pinggit/crtc#sleep-n |
| 1.5.2. GOBACKGROUP | https://patch-diff.githubusercontent.com/pinggit/crtc#gobackgroup |
| 1.5.3. REPEAT M N | https://patch-diff.githubusercontent.com/pinggit/crtc#repeat-m-n |
| 1.5.4. GRES | https://patch-diff.githubusercontent.com/pinggit/crtc#gres |
| 1.5.5. MONITOR | https://patch-diff.githubusercontent.com/pinggit/crtc#monitor |
| 1.6. "projects" | https://patch-diff.githubusercontent.com/pinggit/crtc#projects |
| 1.7. integration with shell script | https://patch-diff.githubusercontent.com/pinggit/crtc#integration-with-shell-script |
| 1.7.1. to pull data out of a device in shell | https://patch-diff.githubusercontent.com/pinggit/crtc#to-pull-data-out-of-a-device-in-shell |
| 1.7.2. to "scan" and pull data from all devices within a subnet: | https://patch-diff.githubusercontent.com/pinggit/crtc#to-scan-and-pull-data-from-all-devices-within-a-subnet |
| 1.7.3. work with environment varible | https://patch-diff.githubusercontent.com/pinggit/crtc#work-with-environment-varible |
| 1.8. timestamp all your commands | https://patch-diff.githubusercontent.com/pinggit/crtc#timestamp-all-your-commands |
| 1.9. running crtc in background | https://patch-diff.githubusercontent.com/pinggit/crtc#running-crtc-in-background |
| 1.9.1. ctrl-g suspend current login session, make it running in background. | https://patch-diff.githubusercontent.com/pinggit/crtc#ctrl-g-suspend-current-login-session-make-it-running-in-background |
| 1.9.2. some implementation details | https://patch-diff.githubusercontent.com/pinggit/crtc#some-implementation-details |
| 1.10. login multiple hosts simultaneously | https://patch-diff.githubusercontent.com/pinggit/crtc#login-multiple-hosts-simultaneously |
| 1.10.1. "parallel" mode | https://patch-diff.githubusercontent.com/pinggit/crtc#parallel-mode |
| 1.11. "event script" | https://patch-diff.githubusercontent.com/pinggit/crtc#event-script |
| 1.12. "op script" | https://patch-diff.githubusercontent.com/pinggit/crtc#op-script |
| 1.13. "programmable" data capture | https://patch-diff.githubusercontent.com/pinggit/crtc#programmable-data-capture |
| 1.13.1. example1 | https://patch-diff.githubusercontent.com/pinggit/crtc#example1 |
| 1.13.2. example2 | https://patch-diff.githubusercontent.com/pinggit/crtc#example2 |
| 1.14. hide login details | https://patch-diff.githubusercontent.com/pinggit/crtc#hide-login-details |
| 1.15. persistent mode | https://patch-diff.githubusercontent.com/pinggit/crtc#persistent-mode |
| 1.16. logs | https://patch-diff.githubusercontent.com/pinggit/crtc#logs |
| 1.17. debug mode | https://patch-diff.githubusercontent.com/pinggit/crtc#debug-mode |
| 1.18. nested crtc | https://patch-diff.githubusercontent.com/pinggit/crtc#nested-crtc |
| 1.19. command substitutions | https://patch-diff.githubusercontent.com/pinggit/crtc#command-substitutions |
| 1.20. set "arbitrary" option: -a flag, and !a command | https://patch-diff.githubusercontent.com/pinggit/crtc#set-arbitrary-option-a-flag-and-a-command |
| 1.21. built-in multi-party kibitz "on the fly" | https://patch-diff.githubusercontent.com/pinggit/crtc#built-in-multi-party-kibitz-on-the-fly |
| 1.21.1. local sharing: sharing a terminal session with users in local server | https://patch-diff.githubusercontent.com/pinggit/crtc#local-sharing-sharing-a-terminal-session-with-users-in-local-server |
| 1.21.2. distributed sharing: sharing session with users in remote servers | https://patch-diff.githubusercontent.com/pinggit/crtc#distributed-sharing-sharing-session-with-users-in-remote-servers |
| 1.22. performance fine tune | https://patch-diff.githubusercontent.com/pinggit/crtc#performance-fine-tune |
| 1.23. misc usages case | https://patch-diff.githubusercontent.com/pinggit/crtc#misc-usages-case |
| 1.24. more other working examples | https://patch-diff.githubusercontent.com/pinggit/crtc#more-other-working-examples |
| 2. usage cases | https://patch-diff.githubusercontent.com/pinggit/crtc#usage-cases |
| 2.1. device login | https://patch-diff.githubusercontent.com/pinggit/crtc#device-login |
| 2.1.1. login to any of your individual device: | https://patch-diff.githubusercontent.com/pinggit/crtc#login-to-any-of-your-individual-device |
| 2.1.2. login to any router under a "jtac" class | https://patch-diff.githubusercontent.com/pinggit/crtc#login-to-any-router-under-a-jtac-class |
| 2.1.3. login to console of juniper jtac lab routers | https://patch-diff.githubusercontent.com/pinggit/crtc#login-to-console-of-juniper-jtac-lab-routers |
| 2.1.4. login to a customer’s device | https://patch-diff.githubusercontent.com/pinggit/crtc#login-to-a-customers-device |
| 2.2. send commands | https://patch-diff.githubusercontent.com/pinggit/crtc#send-commands |
| 2.2.1. -c option | https://patch-diff.githubusercontent.com/pinggit/crtc#c-option |
| 2.2.2. -e and -s options | https://patch-diff.githubusercontent.com/pinggit/crtc#e-and-s-options |
| 2.3. automate shell tasks | https://patch-diff.githubusercontent.com/pinggit/crtc#automate-shell-tasks |
| 2.4. file sync between juniper server and ATT server | https://patch-diff.githubusercontent.com/pinggit/crtc#file-sync-between-juniper-server-and-att-server |
| 2.4.1. where is the script and how to run | https://patch-diff.githubusercontent.com/pinggit/crtc#where-is-the-script-and-how-to-run |
| 2.4.2. folders being sync.ed | https://patch-diff.githubusercontent.com/pinggit/crtc#folders-being-sync-ed |
| 2.4.3. steps to copy a file from juniper server to att device | https://patch-diff.githubusercontent.com/pinggit/crtc#steps-to-copy-a-file-from-juniper-server-to-att-device |
| 2.4.4. steps to "upload" a file (coredump, logs, etc) from att device to juniper shell server | https://patch-diff.githubusercontent.com/pinggit/crtc#steps-to-upload-a-file-coredump-logs-etc-from-att-device-to-juniper-shell-server |
| 2.4.5. the jtacsync.sh script | https://patch-diff.githubusercontent.com/pinggit/crtc#the-jtacsync-sh-script |
| 2.5. scan all routers | https://patch-diff.githubusercontent.com/pinggit/crtc#scan-all-routers |
| 2.6. problem replication | https://patch-diff.githubusercontent.com/pinggit/crtc#problem-replication |
| 2.7. full parameterization | https://patch-diff.githubusercontent.com/pinggit/crtc#full-parameterization |
| 2.7.1. compromise between config file and command line options | https://patch-diff.githubusercontent.com/pinggit/crtc#compromise-between-config-file-and-command-line-options |
| 2.8. capture a specific values | https://patch-diff.githubusercontent.com/pinggit/crtc#capture-a-specific-values |
| 2.9. timestamping all commands | https://patch-diff.githubusercontent.com/pinggit/crtc#timestamping-all-commands |
| 2.9.1. timestamp command from non-Junos devices | https://patch-diff.githubusercontent.com/pinggit/crtc#timestamp-command-from-non-junos-devices |
| 2.10. features | https://patch-diff.githubusercontent.com/pinggit/crtc#features |
| 2.11. enable_user_patterns | https://patch-diff.githubusercontent.com/pinggit/crtc#enable_user_patterns |
| 2.12. expect_matchany | https://patch-diff.githubusercontent.com/pinggit/crtc#expect_matchany |
| 2.13. prefix_mark | https://patch-diff.githubusercontent.com/pinggit/crtc#prefix_mark |
| 2.14. auto re-attemp with diff account | https://patch-diff.githubusercontent.com/pinggit/crtc#auto-re-attemp-with-diff-account |
| 2.15. share output to other terminal or a file | https://patch-diff.githubusercontent.com/pinggit/crtc#share-output-to-other-terminal-or-a-file |
| 2.16. semi-automation | https://patch-diff.githubusercontent.com/pinggit/crtc#semi-automation |
| 2.17. event script | https://patch-diff.githubusercontent.com/pinggit/crtc#event-script-1 |
| 2.18. monitor device | https://patch-diff.githubusercontent.com/pinggit/crtc#monitor-device |
| 3. introduction | https://patch-diff.githubusercontent.com/pinggit/crtc#introduction |
| 3.1. some design considerations | https://patch-diff.githubusercontent.com/pinggit/crtc#some-design-considerations |
| 3.2. feature highlights | https://patch-diff.githubusercontent.com/pinggit/crtc#feature-highlights |
| 4. how to run the script | https://patch-diff.githubusercontent.com/pinggit/crtc#how-to-run-the-script |
| 4.1. the script: just one file | https://patch-diff.githubusercontent.com/pinggit/crtc#the-script-just-one-file |
| 4.2. config file | https://patch-diff.githubusercontent.com/pinggit/crtc#X3 |
| 4.3. config options | https://patch-diff.githubusercontent.com/pinggit/crtc#config-options |
| 5. crtc options | https://patch-diff.githubusercontent.com/pinggit/crtc#crtc-options |
| 5.1. options list | https://patch-diff.githubusercontent.com/pinggit/crtc#options-list |
| 5.2. option maps | https://patch-diff.githubusercontent.com/pinggit/crtc#option-maps |
| 5.3. internal data structure (arrays) | https://patch-diff.githubusercontent.com/pinggit/crtc#internal-data-structure-arrays |
| 5.3.1. login_info | https://patch-diff.githubusercontent.com/pinggit/crtc#login_info |
| 5.3.2. cmdsN | https://patch-diff.githubusercontent.com/pinggit/crtc#cmdsn |
| 5.3.3. pre_cmdsN | https://patch-diff.githubusercontent.com/pinggit/crtc#pre_cmdsn |
| 5.3.4. post_cmdsN | https://patch-diff.githubusercontent.com/pinggit/crtc#post_cmdsn |
| 5.3.5. regex_info | https://patch-diff.githubusercontent.com/pinggit/crtc#regex_info |
| 5.3.6. issue_info | https://patch-diff.githubusercontent.com/pinggit/crtc#issue_info |
| 5.3.7. collect | https://patch-diff.githubusercontent.com/pinggit/crtc#collect |
| 5.3.8. testN | https://patch-diff.githubusercontent.com/pinggit/crtc#testn |
| 5.3.9. an example | https://patch-diff.githubusercontent.com/pinggit/crtc#an-example |
| 5.4. user_patterns | https://patch-diff.githubusercontent.com/pinggit/crtc#user_patterns |
| 6. more usage examples | https://patch-diff.githubusercontent.com/pinggit/crtc#more-usage-examples |
| 6.1. monitoring: keep sending cmd(s) in a loop | https://patch-diff.githubusercontent.com/pinggit/crtc#monitoring-keep-sending-cmds-in-a-loop |
| 6.2. group multiple options | https://patch-diff.githubusercontent.com/pinggit/crtc#group-multiple-options |
| 6.3. some "special" commands | https://patch-diff.githubusercontent.com/pinggit/crtc#some-special-commands |
| 6.3.1. GRES command (Junos platform specific) | https://patch-diff.githubusercontent.com/pinggit/crtc#GRES |
| 6.3.2. "GRES" with "persistent" session | https://patch-diff.githubusercontent.com/pinggit/crtc#gres-with-persistent-session |
| 6.3.3. repeat the "GRES" operation multiple iterations | https://patch-diff.githubusercontent.com/pinggit/crtc#repeat-the-gres-operation-multiple-iterations |
| 6.3.4. SLEEP command (platform-independent) | https://patch-diff.githubusercontent.com/pinggit/crtc#sleep-command-platform-independent |
| 6.4. integration with other tools in shell | https://patch-diff.githubusercontent.com/pinggit/crtc#integration-with-other-tools-in-shell |
| 6.4.1. work with shell script | https://patch-diff.githubusercontent.com/pinggit/crtc#work-with-shell-script |
| 6.4.2. work with GNU screen/tmux | https://patch-diff.githubusercontent.com/pinggit/crtc#work-with-gnu-screentmux |
| 6.5. send log as email attachment | https://patch-diff.githubusercontent.com/pinggit/crtc#send-log-as-email-attachment |
| 6.6. other misc options | https://patch-diff.githubusercontent.com/pinggit/crtc#other-misc-options |
| 6.7. activate features on the fly | https://patch-diff.githubusercontent.com/pinggit/crtc#activate-features-on-the-fly |
| 6.8. running crtc without options/parameters | https://patch-diff.githubusercontent.com/pinggit/crtc#running-crtc-without-optionsparameters |
| 6.8.1. start new automations AFTER the initial automation finishs | https://patch-diff.githubusercontent.com/pinggit/crtc#start-new-automations-after-the-initial-automation-finishs |
| 6.8.2. organize commands with nested command groups | https://patch-diff.githubusercontent.com/pinggit/crtc#X6 |
| 6.9. commands "on the fly" (keymaps) | https://patch-diff.githubusercontent.com/pinggit/crtc#commands-on-the-fly-keymaps |
| 6.9.1. !t !T timestamp every commands | https://patch-diff.githubusercontent.com/pinggit/crtc#t-t-timestamp-every-commands |
| 6.9.2. !c!, !e! | https://patch-diff.githubusercontent.com/pinggit/crtc#c-e |
| 6.9.3. other key commands (t.b.c) | https://patch-diff.githubusercontent.com/pinggit/crtc#other-key-commands-t-b-c |
| 7. license | https://patch-diff.githubusercontent.com/pinggit/crtc#license |
| 8. appendix | https://patch-diff.githubusercontent.com/pinggit/crtc#appendix |
| 8.1. add an option | https://patch-diff.githubusercontent.com/pinggit/crtc#add-an-option |
| 8.2. update notes and todo list | https://patch-diff.githubusercontent.com/pinggit/crtc#update-notes-and-todo-list |
| 8.3. some interesting references: | https://patch-diff.githubusercontent.com/pinggit/crtc#X2 |
| 8.4. test set (for testing crtc dev only) | https://patch-diff.githubusercontent.com/pinggit/crtc#test-set-for-testing-crtc-dev-only |
| 8.5. TODO and DONE | https://patch-diff.githubusercontent.com/pinggit/crtc#todo-and-done |
| 8.6. known issue | https://patch-diff.githubusercontent.com/pinggit/crtc#known-issue |
| tcl notes | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-notes |
| 9. tcl man pages | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-man-pages |
| 10. tcl var | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-var |
| 10.1. "" | https://patch-diff.githubusercontent.com/pinggit/crtc |
| 10.2. {} | https://patch-diff.githubusercontent.com/pinggit/crtc#-1 |
| 11. string | https://patch-diff.githubusercontent.com/pinggit/crtc#string |
| 11.1. string replace | https://patch-diff.githubusercontent.com/pinggit/crtc#string-replace |
| 11.2. string repeat | https://patch-diff.githubusercontent.com/pinggit/crtc#string-repeat |
| 11.3. string trim | https://patch-diff.githubusercontent.com/pinggit/crtc#string-trim |
| 11.4. string index | https://patch-diff.githubusercontent.com/pinggit/crtc#string-index |
| 11.5. an empty string | https://patch-diff.githubusercontent.com/pinggit/crtc#an-empty-string |
| 11.6. scan | https://patch-diff.githubusercontent.com/pinggit/crtc#scan |
| 11.7. format | https://patch-diff.githubusercontent.com/pinggit/crtc#format |
| 12. list | https://patch-diff.githubusercontent.com/pinggit/crtc#list |
| 12.1. lsearch | https://patch-diff.githubusercontent.com/pinggit/crtc#lsearch |
| 12.2. lrange | https://patch-diff.githubusercontent.com/pinggit/crtc#lrange |
| 12.3. llengh | https://patch-diff.githubusercontent.com/pinggit/crtc#llengh |
| 12.4. lindex | https://patch-diff.githubusercontent.com/pinggit/crtc#lindex |
| 13. array | https://patch-diff.githubusercontent.com/pinggit/crtc#array |
| 14. control structures | https://patch-diff.githubusercontent.com/pinggit/crtc#control-structures |
| 14.1. switch | https://patch-diff.githubusercontent.com/pinggit/crtc#switch |
| 14.2. -regexp -matchvar | https://patch-diff.githubusercontent.com/pinggit/crtc#regexp-matchvar |
| 15. array operation | https://patch-diff.githubusercontent.com/pinggit/crtc#array-operation |
| 16. string vs. list | https://patch-diff.githubusercontent.com/pinggit/crtc#string-vs-list |
| 16.1. split and join: string vs list | https://patch-diff.githubusercontent.com/pinggit/crtc#split-and-join-string-vs-list |
| 16.2. append vs. lappend | https://patch-diff.githubusercontent.com/pinggit/crtc#append-vs-lappend |
| 17. list , concat ,eval | https://patch-diff.githubusercontent.com/pinggit/crtc#list-concat-eval |
| 18. backslash | https://patch-diff.githubusercontent.com/pinggit/crtc#backslash |
| 19. exec vs. system | https://patch-diff.githubusercontent.com/pinggit/crtc#exec-vs-system |
| 20. subst flags | https://patch-diff.githubusercontent.com/pinggit/crtc#subst-flags |
| 20.1. example | https://patch-diff.githubusercontent.com/pinggit/crtc#example |
| 21. dynamic coding: eval + subst | https://patch-diff.githubusercontent.com/pinggit/crtc#dynamic-coding-eval-subst |
| 21.1. example1 | https://patch-diff.githubusercontent.com/pinggit/crtc#example1-1 |
| 21.2. example2 | https://patch-diff.githubusercontent.com/pinggit/crtc#example2-1 |
| 21.3. cautions with subst | https://patch-diff.githubusercontent.com/pinggit/crtc#cautions-with-subst |
| 21.4. cautions with eval | https://patch-diff.githubusercontent.com/pinggit/crtc#cautions-with-eval |
| 22. continuation | https://patch-diff.githubusercontent.com/pinggit/crtc#continuation |
| 23. tcl comment | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-comment |
| 24. tcl error processing: catch | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-error-processing-catch |
| 25. file operation | https://patch-diff.githubusercontent.com/pinggit/crtc#file-operation |
| 25.1. file command | https://patch-diff.githubusercontent.com/pinggit/crtc#file-command |
| 25.2. open/read/flush/fconfigure | https://patch-diff.githubusercontent.com/pinggit/crtc#openreadflushfconfigure |
| 25.3. pipeline: work with existing unix command! | https://patch-diff.githubusercontent.com/pinggit/crtc#pipeline-work-with-existing-unix-command |
| 25.4. cd, pwd | https://patch-diff.githubusercontent.com/pinggit/crtc#cd-pwd |
| 26. proc | https://patch-diff.githubusercontent.com/pinggit/crtc#proc |
| 26.1. upvar: passing by reference (pointer) | https://patch-diff.githubusercontent.com/pinggit/crtc#upvar-passing-by-reference-pointer |
| 26.2. upvar vs global | https://patch-diff.githubusercontent.com/pinggit/crtc#upvar-vs-global |
| 26.3. upvar to associate var1 var to var2 name | https://patch-diff.githubusercontent.com/pinggit/crtc#upvar-to-associate-var1-var-to-var2-name |
| 26.4. uplevel | https://patch-diff.githubusercontent.com/pinggit/crtc#uplevel |
| 26.5. unknown | https://patch-diff.githubusercontent.com/pinggit/crtc#unknown |
| 27. argv | https://patch-diff.githubusercontent.com/pinggit/crtc#argv |
| 28. namespace | https://patch-diff.githubusercontent.com/pinggit/crtc#namespace |
| 29. regexp and regsub | https://patch-diff.githubusercontent.com/pinggit/crtc#regexp-and-regsub |
| 30. to kill a telnet/ssh session | https://patch-diff.githubusercontent.com/pinggit/crtc#to-kill-a-telnetssh-session |
| 31. logical operation | https://patch-diff.githubusercontent.com/pinggit/crtc#logical-operation |
| 31.1. string compare | https://patch-diff.githubusercontent.com/pinggit/crtc#string-compare |
| 31.2. ternary operator | https://patch-diff.githubusercontent.com/pinggit/crtc#ternary-operator |
| 32. debugging | https://patch-diff.githubusercontent.com/pinggit/crtc#debugging |
| 33. cron/event-scheduler-like | https://patch-diff.githubusercontent.com/pinggit/crtc#cronevent-scheduler-like |
| 34. nested function call | https://patch-diff.githubusercontent.com/pinggit/crtc#nested-function-call |
| 35. tcl error messages | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-error-messages |
| 36. coding issues | https://patch-diff.githubusercontent.com/pinggit/crtc#coding-issues |
| 37. crontab | https://patch-diff.githubusercontent.com/pinggit/crtc#crontab |
| 37.1. error1: env | https://patch-diff.githubusercontent.com/pinggit/crtc#error1-env |
| 37.2. error2: send_tty | https://patch-diff.githubusercontent.com/pinggit/crtc#error2-send_tty |
| 37.3. error3: stty | https://patch-diff.githubusercontent.com/pinggit/crtc#error3-stty |
| 38. misc | https://patch-diff.githubusercontent.com/pinggit/crtc#misc |
| 38.1. editor/tcl shell/etc | https://patch-diff.githubusercontent.com/pinggit/crtc#editortcl-shelletc |
| 38.2. tclreadline | https://patch-diff.githubusercontent.com/pinggit/crtc#tclreadline |
| 38.3. teacup | https://patch-diff.githubusercontent.com/pinggit/crtc#teacup |
| 38.4. dejagnu | https://patch-diff.githubusercontent.com/pinggit/crtc#dejagnu |
| 38.5. make script executable but not readable .. | https://patch-diff.githubusercontent.com/pinggit/crtc#make-script-executable-but-not-readable |
| 38.6. return in source file | https://patch-diff.githubusercontent.com/pinggit/crtc#return-in-source-file |
| 38.7. NewHeadline | https://patch-diff.githubusercontent.com/pinggit/crtc#newheadline |
| 39. reference | https://patch-diff.githubusercontent.com/pinggit/crtc#reference |
| expect notes | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-notes |
| 40. expect resources | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-resources |
| 41. expect | https://patch-diff.githubusercontent.com/pinggit/crtc#expect |
| 41.1. expect syntax | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-syntax |
| 41.2. expect_out | https://patch-diff.githubusercontent.com/pinggit/crtc#expect_out |
| 41.3. expect -indice | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-indice |
| 41.4. expect -re | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-re |
| 41.5. expect -gl | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-gl |
| 41.6. expect * | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-1 |
| 41.7. expect (nothing) | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-nothing |
| 41.8. expect timeout | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-timeout |
| 41.9. expect eof | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-eof |
| 41.10. expect pattern no-op | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-pattern-no-op |
| 41.11. why "\\\$"? | https://patch-diff.githubusercontent.com/pinggit/crtc#why |
| 41.12. glob vs. regex | https://patch-diff.githubusercontent.com/pinggit/crtc#glob-vs-regex |
| 41.13. expect common patterns common example | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-common-patterns-common-example |
| 41.14. expect limitation and workaroud | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-limitation-and-workaroud |
| 41.15. expect-send pair essentials | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-send-pair-essentials |
| 41.16. expect vs regexp vs switch | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-vs-regexp-vs-switch |
| 41.17. exp_continue | https://patch-diff.githubusercontent.com/pinggit/crtc#exp_continue |
| 41.17.1. absorbing extra chars | https://patch-diff.githubusercontent.com/pinggit/crtc#absorbing-extra-chars |
| 41.18. expect -notransfer | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-notransfer |
| 41.19. expect null | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-null |
| 41.20. expect_user | https://patch-diff.githubusercontent.com/pinggit/crtc#expect_user |
| 41.21. expect -brace | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-brace |
| 41.21.1. default "rule" of guess | https://patch-diff.githubusercontent.com/pinggit/crtc#default-rule-of-guess |
| 41.21.2. inconsistencies | https://patch-diff.githubusercontent.com/pinggit/crtc#inconsistencies |
| 41.21.3. force a single argument treated as a single pattern | https://patch-diff.githubusercontent.com/pinggit/crtc#force-a-single-argument-treated-as-a-single-pattern |
| 41.21.4. force a single arugment treated as a list of patterns | https://patch-diff.githubusercontent.com/pinggit/crtc#force-a-single-arugment-treated-as-a-list-of-patterns |
| 41.22. expect_before/expect_after | https://patch-diff.githubusercontent.com/pinggit/crtc#expect_beforeexpect_after |
| 42. send | https://patch-diff.githubusercontent.com/pinggit/crtc#send |
| 42.1. send vs. puts | https://patch-diff.githubusercontent.com/pinggit/crtc#send-vs-puts |
| 43. spawn | https://patch-diff.githubusercontent.com/pinggit/crtc#spawn |
| 44. email | https://patch-diff.githubusercontent.com/pinggit/crtc#email |
| 45. \r\n and stty mode | https://patch-diff.githubusercontent.com/pinggit/crtc#rn-and-stty-mode |
| 45.1. all about \r\n | https://patch-diff.githubusercontent.com/pinggit/crtc#all-about-rn |
| 45.2. raw/cooked mode | https://patch-diff.githubusercontent.com/pinggit/crtc#rawcooked-mode |
| 45.3. mode changing: stty | https://patch-diff.githubusercontent.com/pinggit/crtc#mode-changing-stty |
| 46. match_max and full_buffer | https://patch-diff.githubusercontent.com/pinggit/crtc#match_max-and-full_buffer |
| 47. log_user/log_file | https://patch-diff.githubusercontent.com/pinggit/crtc#log_userlog_file |
| 47.1. pending issue | https://patch-diff.githubusercontent.com/pinggit/crtc#pending-issue |
| 48. signal | https://patch-diff.githubusercontent.com/pinggit/crtc#signal |
| 49. interact | https://patch-diff.githubusercontent.com/pinggit/crtc#interact |
| 49.1. interact_out | https://patch-diff.githubusercontent.com/pinggit/crtc#interact_out |
| 49.2. interact in a loop | https://patch-diff.githubusercontent.com/pinggit/crtc#interact-in-a-loop |
| 49.3. nested interact (interact under interact) | https://patch-diff.githubusercontent.com/pinggit/crtc#nested-interact-interact-under-interact |
| 49.4. interact default action: interpreter | https://patch-diff.githubusercontent.com/pinggit/crtc#interact-default-action-interpreter |
| 49.5. interact on eof | https://patch-diff.githubusercontent.com/pinggit/crtc#interact-on-eof |
| 49.6. interact timeout | https://patch-diff.githubusercontent.com/pinggit/crtc#interact-timeout |
| 49.7. implicit spawn_id and -o | https://patch-diff.githubusercontent.com/pinggit/crtc#implicit-spawn_id-and-o |
| 49.8. -i (explicit spawn_id) | https://patch-diff.githubusercontent.com/pinggit/crtc#i-explicit-spawn_id |
| 49.9. -u | https://patch-diff.githubusercontent.com/pinggit/crtc#u |
| 49.10. -input -output | https://patch-diff.githubusercontent.com/pinggit/crtc#input-output |
| 49.10.1. kibitz | https://patch-diff.githubusercontent.com/pinggit/crtc#kibitz |
| 49.11. -iwrite | https://patch-diff.githubusercontent.com/pinggit/crtc#iwrite |
| 49.12. indirect spawn_id | https://patch-diff.githubusercontent.com/pinggit/crtc#indirect-spawn_id |
| 49.13. -reset | https://patch-diff.githubusercontent.com/pinggit/crtc#reset |
| 49.14. puts under interact | https://patch-diff.githubusercontent.com/pinggit/crtc#puts-under-interact |
| 49.15. inter_return vs return | https://patch-diff.githubusercontent.com/pinggit/crtc#inter_return-vs-return |
| 50. expect vs. interact | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-vs-interact |
| 50.1. call expect_user under interact | https://patch-diff.githubusercontent.com/pinggit/crtc#call-expect_user-under-interact |
| 50.2. call expect under interact | https://patch-diff.githubusercontent.com/pinggit/crtc#call-expect-under-interact |
| 50.3. call interact under expect | https://patch-diff.githubusercontent.com/pinggit/crtc#call-interact-under-expect |
| 50.4. call interact under interact (nested interact) | https://patch-diff.githubusercontent.com/pinggit/crtc#call-interact-under-interact-nested-interact |
| 51. -i option | https://patch-diff.githubusercontent.com/pinggit/crtc#i-option |
| 52. Expect specific cmds | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-specific-cmds |
| 52.1. interpreter | https://patch-diff.githubusercontent.com/pinggit/crtc#interpreter |
| 52.2. prompt1/2 | https://patch-diff.githubusercontent.com/pinggit/crtc#prompt12 |
| 53. Expect errors | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-errors |
| 54. "screen" sharing | https://patch-diff.githubusercontent.com/pinggit/crtc#screen-sharing |
| 55. debug Expect script | https://patch-diff.githubusercontent.com/pinggit/crtc#debug-expect-script |
| 55.1. debug 1 | https://patch-diff.githubusercontent.com/pinggit/crtc#debug-1 |
| 55.2. trace | https://patch-diff.githubusercontent.com/pinggit/crtc#trace |
| 55.3. exp_internal | https://patch-diff.githubusercontent.com/pinggit/crtc#exp_internal |
| 55.4. expect debugger | https://patch-diff.githubusercontent.com/pinggit/crtc#expect-debugger |
| tcl extentions | https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-extentions |
| 56. sqlite: most popular tcl extension? | https://patch-diff.githubusercontent.com/pinggit/crtc#sqlite-most-popular-tcl-extension |
| https://patch-diff.githubusercontent.com/pinggit/crtc#1-quick-examples |
| https://patch-diff.githubusercontent.com/pinggit/crtc#11-automate-device-login-process |
| https://patch-diff.githubusercontent.com/pinggit/crtc#111-configure-login-info-for-individual-device |
| https://patch-diff.githubusercontent.com/pinggit/crtc#112-configure-login-info-for-a-group-of-device |
| https://patch-diff.githubusercontent.com/pinggit/crtc#12-host-name-resolution |
| https://patch-diff.githubusercontent.com/pinggit/crtc#13-automate-commands-after-login |
| 1 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_1 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#131-interupting-an-automation-loop |
| https://patch-diff.githubusercontent.com/pinggit/crtc#132-quick-mode-login-send-cmds-and-exit |
| https://patch-diff.githubusercontent.com/pinggit/crtc#14-automate-commands-with-user-defined-patterns |
| https://patch-diff.githubusercontent.com/pinggit/crtc#15-special-commands |
| https://patch-diff.githubusercontent.com/pinggit/crtc#151-sleep-n |
| https://patch-diff.githubusercontent.com/pinggit/crtc#152-gobackgroup |
| https://patch-diff.githubusercontent.com/pinggit/crtc#153-repeat-m-n |
| https://patch-diff.githubusercontent.com/pinggit/crtc#154-gres |
| GRES | https://patch-diff.githubusercontent.com/pinggit/crtc#GRES |
| https://patch-diff.githubusercontent.com/pinggit/crtc#155-monitor |
| https://patch-diff.githubusercontent.com/pinggit/crtc#16-projects |
| https://patch-diff.githubusercontent.com/pinggit/crtc#17-integration-with-shell-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#171-to-pull-data-out-of-a-device-in-shell |
| 2 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_2 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#172-to-scan-and-pull-data-from-all-devices-within-a-subnet |
| https://patch-diff.githubusercontent.com/pinggit/crtc#173-work-with-environment-varible |
| configure login info for individual device | https://patch-diff.githubusercontent.com/pinggit/crtc#LOGIN1 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#18-timestamp-all-your-commands |
| https://patch-diff.githubusercontent.com/pinggit/crtc#19-running-crtc-in-background |
| https://patch-diff.githubusercontent.com/pinggit/crtc#191-ctrl-g-----suspend-current-login-session-make-it-running-in-background |
| https://patch-diff.githubusercontent.com/pinggit/crtc#192-some-implementation-details |
| https://patch-diff.githubusercontent.com/pinggit/crtc#110-login-multiple-hosts-simultaneously |
| https://patch-diff.githubusercontent.com/pinggit/crtc#1101-parallel-mode |
| https://patch-diff.githubusercontent.com/pinggit/crtc#111-event-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#112-op-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#113-programmable-data-capture |
| https://patch-diff.githubusercontent.com/pinggit/crtc#1131-example1 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#1132-example2 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#114-hide-login-details |
| https://patch-diff.githubusercontent.com/pinggit/crtc#115-persistent-mode |
| https://patch-diff.githubusercontent.com/pinggit/crtc#116-logs |
| https://patch-diff.githubusercontent.com/pinggit/crtc#117-debug-mode |
| https://patch-diff.githubusercontent.com/pinggit/crtc#118-nested-crtc |
| https://patch-diff.githubusercontent.com/pinggit/crtc#119-command-substitutions |
| https://patch-diff.githubusercontent.com/pinggit/crtc#120-set-arbitrary-option--a-flag-and-a-command |
| https://patch-diff.githubusercontent.com/pinggit/crtc#121-built-in-multi-party-kibitz-on-the-fly |
| https://patch-diff.githubusercontent.com/pinggit/crtc#1211-local-sharing-sharing-a-terminal-session-with-users-in-local-server |
| https://patch-diff.githubusercontent.com/pinggit/crtc#1212-distributed-sharing-sharing-session-with-users-in-remote-servers |
| https://patch-diff.githubusercontent.com/pinggit/crtc#122-performance-fine-tune |
| https://patch-diff.githubusercontent.com/pinggit/crtc#123-misc-usages-case |
| https://patch-diff.githubusercontent.com/pinggit/crtc#124-more-other-working-examples |
| https://patch-diff.githubusercontent.com/pinggit/crtc#2-usage-cases |
| https://patch-diff.githubusercontent.com/pinggit/crtc#21-device-login |
| https://patch-diff.githubusercontent.com/pinggit/crtc#211-login-to-any-of-your-individual-device |
| 3 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_3 |
| 4 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_4 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#212-login-to-any-router-under-a-jtac-class |
| https://patch-diff.githubusercontent.com/pinggit/crtc#213-login-to-console-of-juniper-jtac-lab-routers |
| https://patch-diff.githubusercontent.com/pinggit/crtc#214-login-to-a-customers-device |
| https://patch-diff.githubusercontent.com/pinggit/crtc#22-send-commands |
| [X1] | https://patch-diff.githubusercontent.com/pinggit/crtc#X1 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#221--c-option |
| https://patch-diff.githubusercontent.com/pinggit/crtc#222--e-and--s-options |
| https://patch-diff.githubusercontent.com/pinggit/crtc#23-automate-shell-tasks |
| https://patch-diff.githubusercontent.com/pinggit/crtc#24-file-sync-between-juniper-server-and-att-server |
| https://patch-diff.githubusercontent.com/pinggit/crtc#241-where-is-the-script-and-how-to-run |
| https://patch-diff.githubusercontent.com/pinggit/crtc#242-folders-being-synced |
| https://patch-diff.githubusercontent.com/pinggit/crtc#243-steps-to-copy-a-file-from-juniper-server-to-att-device |
| https://patch-diff.githubusercontent.com/pinggit/crtc#244-steps-to-upload-a-file-coredump-logs-etc-from-att-device-to-juniper-shell-server |
| https://patch-diff.githubusercontent.com/pinggit/crtc#245-the-jtacsyncsh-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#25-scan-all-routers |
| https://patch-diff.githubusercontent.com/pinggit/crtc#26-problem-replication |
| 5 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_5 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#27-full-parameterization |
| https://patch-diff.githubusercontent.com/pinggit/crtc#271-compromise-between-config-file-and-command-line-options |
| https://patch-diff.githubusercontent.com/pinggit/crtc#28-capture-a-specific-values |
| https://patch-diff.githubusercontent.com/pinggit/crtc#29-timestamping-all-commands |
| 6 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_6 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#291-timestamp-command-from-non-junos-devices |
| https://patch-diff.githubusercontent.com/pinggit/crtc#210-features |
| https://patch-diff.githubusercontent.com/pinggit/crtc#211-enable_user_patterns |
| https://patch-diff.githubusercontent.com/pinggit/crtc#212-expect_matchany |
| https://patch-diff.githubusercontent.com/pinggit/crtc#213-prefix_mark |
| https://patch-diff.githubusercontent.com/pinggit/crtc#214-auto-re-attemp-with-diff-account |
| https://patch-diff.githubusercontent.com/pinggit/crtc#215-share-output-to-other-terminal-or-a-file |
| https://patch-diff.githubusercontent.com/pinggit/crtc#216-semi-automation |
| https://patch-diff.githubusercontent.com/pinggit/crtc#217-event-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#218-monitor-device |
| https://patch-diff.githubusercontent.com/pinggit/crtc#3-introduction |
| https://patch-diff.githubusercontent.com/pinggit/crtc#31-some-design-considerations |
| https://patch-diff.githubusercontent.com/pinggit/crtc#32-feature-highlights |
| 7 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_7 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4-how-to-run-the-script |
| 8 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_8 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41-the-script-just-one-file |
| https://patch-diff.githubusercontent.com/pinggit/crtc#42-config-file |
| https://patch-diff.githubusercontent.com/pinggit/crtc#43-config-options |
| https://patch-diff.githubusercontent.com/pinggit/crtc#5-crtc-options |
| https://patch-diff.githubusercontent.com/pinggit/crtc#51-options-list |
| https://patch-diff.githubusercontent.com/pinggit/crtc#52-option-maps |
| https://patch-diff.githubusercontent.com/pinggit/crtc#53-internal-data-structure-arrays |
| https://patch-diff.githubusercontent.com/pinggit/crtc#531-login_info |
| https://patch-diff.githubusercontent.com/pinggit/crtc#532-cmdsn |
| https://patch-diff.githubusercontent.com/pinggit/crtc#533-pre_cmdsn |
| https://patch-diff.githubusercontent.com/pinggit/crtc#534-post_cmdsn |
| https://patch-diff.githubusercontent.com/pinggit/crtc#535-regex_info |
| https://patch-diff.githubusercontent.com/pinggit/crtc#536-issue_info |
| https://patch-diff.githubusercontent.com/pinggit/crtc#537-collect |
| https://patch-diff.githubusercontent.com/pinggit/crtc#538-testn |
| https://patch-diff.githubusercontent.com/pinggit/crtc#539-an-example |
| https://patch-diff.githubusercontent.com/pinggit/crtc#54-user_patterns |
| https://patch-diff.githubusercontent.com/pinggit/crtc#6-more-usage-examples |
| https://patch-diff.githubusercontent.com/pinggit/crtc#61-monitoring-keep-sending-cmds-in-a-loop |
| https://patch-diff.githubusercontent.com/pinggit/crtc#62-group-multiple-options |
| some interesting references: | https://patch-diff.githubusercontent.com/pinggit/crtc#X2 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#63-some-special-commands |
| https://patch-diff.githubusercontent.com/pinggit/crtc#631-gres-command-junos-platform-specific |
| https://patch-diff.githubusercontent.com/pinggit/crtc#632-gres-with-persistent-session |
| https://patch-diff.githubusercontent.com/pinggit/crtc#633-repeat-the-gres-operation-multiple-iterations |
| https://patch-diff.githubusercontent.com/pinggit/crtc#634-sleep-command-platform-independent |
| https://patch-diff.githubusercontent.com/pinggit/crtc#64-integration-with-other-tools-in-shell |
| https://patch-diff.githubusercontent.com/pinggit/crtc#641-work-with-shell-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#642-work-with-gnu-screentmux |
| https://patch-diff.githubusercontent.com/pinggit/crtc#65-send-log-as-email-attachment |
| https://patch-diff.githubusercontent.com/pinggit/crtc#66-other-misc-options |
| https://patch-diff.githubusercontent.com/pinggit/crtc#67-activate-features-on-the-fly |
| https://patch-diff.githubusercontent.com/pinggit/crtc#68-running-crtc-without-optionsparameters |
| https://patch-diff.githubusercontent.com/pinggit/crtc#681-start-new-automations-after-the-initial-automation-finishs |
| https://patch-diff.githubusercontent.com/pinggit/crtc#682-organize-commands-with-nested-command-groups |
| https://patch-diff.githubusercontent.com/pinggit/crtc#69-commands-on-the-fly-keymaps |
| 9 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnotedef_9 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#691-t-t-timestamp-every-commands |
| !t | https://patch-diff.githubusercontent.com/pinggit/crtc#X5 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#692-c-e |
| start new automations | https://patch-diff.githubusercontent.com/pinggit/crtc#X6 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#693-other-key-commands-tbc |
| https://patch-diff.githubusercontent.com/pinggit/crtc#7-license |
| https://patch-diff.githubusercontent.com/pinggit/crtc#8-appendix |
| https://patch-diff.githubusercontent.com/pinggit/crtc#81-add-an-option |
| https://patch-diff.githubusercontent.com/pinggit/crtc#82-update-notes-and-todo-list |
| https://patch-diff.githubusercontent.com/pinggit/crtc#83-some-interesting-references |
| utility conventions | http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html |
| GNU standard | https://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces |
| ascii control codes | https://www.cs.tut.fi/~jkorpela/chars/c0.html |
| https://patch-diff.githubusercontent.com/pinggit/crtc#84-test-set-for-testing-crtc-dev-only |
| https://patch-diff.githubusercontent.com/pinggit/crtc#85-todo-and-done |
| https://patch-diff.githubusercontent.com/pinggit/crtc#86-known-issue |
| https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-notes |
| https://patch-diff.githubusercontent.com/pinggit/crtc#9-tcl-man-pages |
| https://patch-diff.githubusercontent.com/pinggit/crtc#10-tcl-var |
| https://patch-diff.githubusercontent.com/pinggit/crtc#101- |
| https://patch-diff.githubusercontent.com/pinggit/crtc#102- |
| https://patch-diff.githubusercontent.com/pinggit/crtc#11-string |
| https://patch-diff.githubusercontent.com/pinggit/crtc#111-string-replace |
| https://patch-diff.githubusercontent.com/pinggit/crtc#112-string-repeat |
| https://patch-diff.githubusercontent.com/pinggit/crtc#113-string-trim |
| https://patch-diff.githubusercontent.com/pinggit/crtc#114-string-index |
| https://patch-diff.githubusercontent.com/pinggit/crtc#115-an-empty-string |
| https://patch-diff.githubusercontent.com/pinggit/crtc#116-scan |
| https://patch-diff.githubusercontent.com/pinggit/crtc#117-format |
| https://patch-diff.githubusercontent.com/pinggit/crtc#12-list |
| https://patch-diff.githubusercontent.com/pinggit/crtc#121-lsearch |
| https://patch-diff.githubusercontent.com/pinggit/crtc#122-lrange |
| https://patch-diff.githubusercontent.com/pinggit/crtc#123-llengh |
| https://patch-diff.githubusercontent.com/pinggit/crtc#124-lindex |
| https://patch-diff.githubusercontent.com/pinggit/crtc#13-array |
| https://patch-diff.githubusercontent.com/pinggit/crtc#14-control-structures |
| https://patch-diff.githubusercontent.com/pinggit/crtc#141-switch |
| https://patch-diff.githubusercontent.com/pinggit/crtc#142--regexp--matchvar |
| http://www.tcl.tk/man/tcl8.5/TclCmd/switch.htm | http://www.tcl.tk/man/tcl8.5/TclCmd/switch.htm |
| https://patch-diff.githubusercontent.com/pinggit/crtc#15-array-operation |
| https://patch-diff.githubusercontent.com/pinggit/crtc#16-string-vs-list |
| https://patch-diff.githubusercontent.com/pinggit/crtc#161-split-and-join-string-vs-list |
| https://patch-diff.githubusercontent.com/pinggit/crtc#162-append-vs-lappend |
| https://patch-diff.githubusercontent.com/pinggit/crtc#17-list--concat-eval |
| https://patch-diff.githubusercontent.com/pinggit/crtc#18-backslash |
| https://patch-diff.githubusercontent.com/pinggit/crtc#19-exec-vs-system |
| https://patch-diff.githubusercontent.com/pinggit/crtc#20-subst-flags |
| https://patch-diff.githubusercontent.com/pinggit/crtc#201-example |
| https://patch-diff.githubusercontent.com/pinggit/crtc#21-dynamic-coding-eval--subst |
| https://patch-diff.githubusercontent.com/pinggit/crtc#211-example1 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#212-example2 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#213-cautions-with-subst |
| https://patch-diff.githubusercontent.com/pinggit/crtc#214-cautions-with-eval |
| https://patch-diff.githubusercontent.com/pinggit/crtc#22-continuation |
| https://patch-diff.githubusercontent.com/pinggit/crtc#23-tcl-comment |
| https://patch-diff.githubusercontent.com/pinggit/crtc#24-tcl-error-processing-catch |
| https://patch-diff.githubusercontent.com/pinggit/crtc#25-file-operation |
| https://patch-diff.githubusercontent.com/pinggit/crtc#251-file-command |
| https://patch-diff.githubusercontent.com/pinggit/crtc#252-openreadflushfconfigure |
| https://patch-diff.githubusercontent.com/pinggit/crtc#253-pipeline-work-with-existing-unix-command |
| https://patch-diff.githubusercontent.com/pinggit/crtc#254-cd-pwd |
| https://patch-diff.githubusercontent.com/pinggit/crtc#26-proc |
| https://patch-diff.githubusercontent.com/pinggit/crtc#261-upvar-passing-by-reference-pointer |
| https://patch-diff.githubusercontent.com/pinggit/crtc#262-upvar-vs-global |
| https://patch-diff.githubusercontent.com/pinggit/crtc#263-upvar-to-associate-var1-var-to-var2-name |
| https://patch-diff.githubusercontent.com/pinggit/crtc#264-uplevel |
| https://patch-diff.githubusercontent.com/pinggit/crtc#265-unknown |
| https://patch-diff.githubusercontent.com/pinggit/crtc#27-argv |
| https://patch-diff.githubusercontent.com/pinggit/crtc#28-namespace |
| https://patch-diff.githubusercontent.com/pinggit/crtc#29-regexp-and-regsub |
| http://stackoverflow.com/questions/17176121/getting-values-for-all-submatches-alone-leaving-the-match-in-regexp-inline | http://stackoverflow.com/questions/17176121/getting-values-for-all-submatches-alone-leaving-the-match-in-regexp-inline |
| https://patch-diff.githubusercontent.com/pinggit/crtc#30-to-kill-a-telnetssh-session |
| https://patch-diff.githubusercontent.com/pinggit/crtc#31-logical-operation |
| https://patch-diff.githubusercontent.com/pinggit/crtc#311-string-compare |
| https://patch-diff.githubusercontent.com/pinggit/crtc#312-ternary-operator |
| https://patch-diff.githubusercontent.com/pinggit/crtc#32-debugging |
| https://patch-diff.githubusercontent.com/pinggit/crtc#33-cronevent-scheduler-like |
| https://patch-diff.githubusercontent.com/pinggit/crtc#34-nested-function-call |
| https://patch-diff.githubusercontent.com/pinggit/crtc#35-tcl-error-messages |
| https://patch-diff.githubusercontent.com/pinggit/crtc#36-coding-issues |
| https://patch-diff.githubusercontent.com/pinggit/crtc#37-crontab |
| https://patch-diff.githubusercontent.com/pinggit/crtc#371-error1-env |
| https://patch-diff.githubusercontent.com/pinggit/crtc#372-error2-send_tty |
| https://patch-diff.githubusercontent.com/pinggit/crtc#373-error3-stty |
| http://expect.sourceforge.net/FAQ.html#q27 | http://expect.sourceforge.net/FAQ.html#q27 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#38-misc |
| https://patch-diff.githubusercontent.com/pinggit/crtc#381-editortcl-shelletc |
| https://patch-diff.githubusercontent.com/pinggit/crtc#382-tclreadline |
| https://patch-diff.githubusercontent.com/pinggit/crtc#383-teacup |
| https://patch-diff.githubusercontent.com/pinggit/crtc#384-dejagnu |
| https://patch-diff.githubusercontent.com/pinggit/crtc#385-make-script-executable-but-not-readable- |
| https://patch-diff.githubusercontent.com/pinggit/crtc#386-return-in-source-file |
| https://patch-diff.githubusercontent.com/pinggit/crtc#387-newheadline |
| https://patch-diff.githubusercontent.com/pinggit/crtc#39-reference |
| re_syntax - Syntax of Tcl
regular expressions | https://www.tcl.tk/man/tcl8.4/TclCmd/re_syntax.htm |
| http://www.nist.gov/el/msid/infotest/dlibes.cfm | http://www.nist.gov/el/msid/infotest/dlibes.cfm |
| https://patch-diff.githubusercontent.com/pinggit/crtc#expect-notes |
| https://patch-diff.githubusercontent.com/pinggit/crtc#40-expect-resources |
| http://expect.sourceforge.net/ | http://expect.sourceforge.net/ |
| http://docs.activestate.com/activetcl/8.4/expect4win/ex_usage.html | http://docs.activestate.com/activetcl/8.4/expect4win/ex_usage.html |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41-expect |
| https://patch-diff.githubusercontent.com/pinggit/crtc#411-expect-syntax |
| https://patch-diff.githubusercontent.com/pinggit/crtc#412-expect_out |
| https://cloud.githubusercontent.com/assets/2038044/12874355/8c867f54-cda0-11e5-819e-28c15d3325e1.png |
| https://patch-diff.githubusercontent.com/pinggit/crtc#413-expect--indice |
| https://patch-diff.githubusercontent.com/pinggit/crtc#414-expect--re |
| https://patch-diff.githubusercontent.com/pinggit/crtc#415-expect--gl |
| https://patch-diff.githubusercontent.com/pinggit/crtc#416-expect- |
| https://patch-diff.githubusercontent.com/pinggit/crtc#417-expect-nothing |
| https://patch-diff.githubusercontent.com/pinggit/crtc#418-expect-timeout |
| https://patch-diff.githubusercontent.com/pinggit/crtc#419-expect-eof |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4110-expect-pattern-no-op |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4111-why- |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4112-glob-vs-regex |
| https://cloud.githubusercontent.com/assets/2038044/14946263/673ebc4a-0fed-11e6-8d69-fb1420d1cee2.png |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4113-expect-common-patterns-common-example |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4114-expect-limitation-and-workaroud |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4115-expect-send-pair-essentials |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4116-expect-vs-regexp-vs-switch |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4117-exp_continue |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41171-absorbing-extra-chars |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4118-expect--notransfer |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4119-expect-null |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4120-expect_user |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4121-expect--brace |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41211-default-rule-of-guess |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41212-inconsistencies |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41213-force-a-single-argument-treated-as-a-single-pattern |
| https://patch-diff.githubusercontent.com/pinggit/crtc#41214-force-a-single-arugment-treated-as-a-list-of-patterns |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4122-expect_beforeexpect_after |
| https://patch-diff.githubusercontent.com/pinggit/crtc#42-send |
| https://patch-diff.githubusercontent.com/pinggit/crtc#421-send-vs-puts |
| https://patch-diff.githubusercontent.com/pinggit/crtc#43-spawn |
| https://patch-diff.githubusercontent.com/pinggit/crtc#44-email |
| https://patch-diff.githubusercontent.com/pinggit/crtc#45-rn-and-stty-mode |
| https://patch-diff.githubusercontent.com/pinggit/crtc#451-all-about-rn |
| https://patch-diff.githubusercontent.com/pinggit/crtc#452-rawcooked-mode |
| https://patch-diff.githubusercontent.com/pinggit/crtc#453-mode-changing-stty |
| https://patch-diff.githubusercontent.com/pinggit/crtc#46-match_max-and-full_buffer |
| https://patch-diff.githubusercontent.com/pinggit/crtc#47-log_userlog_file |
| https://patch-diff.githubusercontent.com/pinggit/crtc#471-pending-issue |
| https://patch-diff.githubusercontent.com/pinggit/crtc#48-signal |
| http://superuser.com/questions/287428/whats-the-difference-between-s-and-z-inside-a-terminal | http://superuser.com/questions/287428/whats-the-difference-between-s-and-z-inside-a-terminal |
| https://patch-diff.githubusercontent.com/pinggit/crtc#49-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#491-interact_out |
| https://patch-diff.githubusercontent.com/pinggit/crtc#492-interact-in-a-loop |
| https://patch-diff.githubusercontent.com/pinggit/crtc#493-nested-interact-interact-under-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#494-interact-default-action-interpreter |
| https://patch-diff.githubusercontent.com/pinggit/crtc#495-interact-on-eof |
| https://patch-diff.githubusercontent.com/pinggit/crtc#496-interact-timeout |
| https://patch-diff.githubusercontent.com/pinggit/crtc#497-implicit-spawn_id-and--o |
| https://patch-diff.githubusercontent.com/pinggit/crtc#498--i-explicit-spawn_id |
| https://patch-diff.githubusercontent.com/pinggit/crtc#499--u |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4910--input--output |
| https://patch-diff.githubusercontent.com/pinggit/crtc#49101-kibitz |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4911--iwrite |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4912-indirect-spawn_id |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4913--reset |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4914-puts-under-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#4915-inter_return-vs-return |
| https://patch-diff.githubusercontent.com/pinggit/crtc#50-expect-vs-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#501-call-expect_user-under-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#502-call-expect-under-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#503-call-interact-under-expect |
| https://patch-diff.githubusercontent.com/pinggit/crtc#504-call-interact-under-interact-nested-interact |
| https://patch-diff.githubusercontent.com/pinggit/crtc#51--i-option |
| https://patch-diff.githubusercontent.com/pinggit/crtc#52-expect-specific-cmds |
| https://patch-diff.githubusercontent.com/pinggit/crtc#521-interpreter |
| https://patch-diff.githubusercontent.com/pinggit/crtc#522-prompt12 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#53-expect-errors |
| https://patch-diff.githubusercontent.com/pinggit/crtc#54-screen-sharing |
| https://patch-diff.githubusercontent.com/pinggit/crtc#55-debug-expect-script |
| https://patch-diff.githubusercontent.com/pinggit/crtc#551-debug-1 |
| https://patch-diff.githubusercontent.com/pinggit/crtc#552-trace |
| https://patch-diff.githubusercontent.com/pinggit/crtc#553-exp_internal |
| https://patch-diff.githubusercontent.com/pinggit/crtc#554-expect-debugger |
| https://patch-diff.githubusercontent.com/pinggit/crtc#tcl-extentions |
| https://patch-diff.githubusercontent.com/pinggit/crtc#56-sqlite-most-popular-tcl-extension |
| 1 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_1 |
| config file | https://patch-diff.githubusercontent.com/pinggit/crtc#X3 |
| 2 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_2 |
| 3 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_3 |
| wikipedia | http://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS |
| 4 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_4 |
| 5 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_5 |
| 6 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_6 |
| 7 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_7 |
| 8 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_8 |
| 9 | https://patch-diff.githubusercontent.com/pinggit/crtc#_footnoteref_9 |
|
Readme
| https://patch-diff.githubusercontent.com/pinggit/crtc#readme-ov-file |
| Please reload this page | https://patch-diff.githubusercontent.com/pinggit/crtc |
|
Activity | https://patch-diff.githubusercontent.com/pinggit/crtc/activity |
|
2
stars | https://patch-diff.githubusercontent.com/pinggit/crtc/stargazers |
|
2
watching | https://patch-diff.githubusercontent.com/pinggit/crtc/watchers |
|
0
forks | https://patch-diff.githubusercontent.com/pinggit/crtc/forks |
|
Report repository
| https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fpinggit%2Fcrtc&report=pinggit+%28user%29 |
| Releases | https://patch-diff.githubusercontent.com/pinggit/crtc/releases |
| Packages
0 | https://patch-diff.githubusercontent.com/users/pinggit/packages?repo_name=crtc |
|
Tcl
100.0%
| https://patch-diff.githubusercontent.com/pinggit/crtc/search?l=tcl |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |