ವೈಶಿಷ್ಟ್ಯಗಳು
ಶಾರ್ಟ್ಕಟ್ ಕಮಾಂಡ್ಗಳು
ಈ ಪುಟವನ್ನು ಇಂಗ್ಲಿಷ್ನಿಂದ ಯಂತ್ರದ ಮೂಲಕ ಅನುವಾದಿಸಲಾಗಿದೆ. ತಿದ್ದುಪಡಿಗಳಿಗೆ ಸ್ವಾಗತ. ಈ ಪುಟವನ್ನು GitHub ನಲ್ಲಿ ಸಂಪಾದಿಸಿ
ಶಾರ್ಟ್ಕಟ್ ಎಂದರೆ ಒಂದು ಖಾತೆಯಾಗಿ Claude Code ಅನ್ನು ಆರಂಭಿಸುವ, ನೀವೇ ಹೆಸರಿಡುವ ಕಮಾಂಡ್: ccam work --resume ಮಾಡುವುದನ್ನೇ ccwork --resume ಮಾಡುತ್ತದೆ. ಇದು ~/.local/bin ನಲ್ಲಿರುವ ccam ಗೆ ಒಂದು ಲಿಂಕ್, ಹೀಗಾಗಿ bash, zsh, ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು PATH ನಿಂದ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ರನ್ ಮಾಡುವ ಬೇರೆ ಯಾವುದರಲ್ಲೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಶಾರ್ಟ್ಕಟ್ಗಳು ಐಚ್ಛಿಕ; ನೀವು ಆಗಾಗ ಆರಂಭಿಸುವ ಖಾತೆಗಳಿಗೆ ಒಂದನ್ನು ರಚಿಸಿ.
ಬಳಕೆ
ccam shortcut work ccwork # create the shortcut ccwork for work
ccam shortcut 2 ccside # the account with number 2
ccam shortcut work # show it
ccam shortcut work ccw # rename it; the old link is removed
ccam shortcut work --remove # delete it
ccam add side --shortcut ccside
ccam shims install # recreate missing links of all accounts
ccwork -p "summarise" --output-format jsonccam ಪ್ರತಿ ಬದಲಾವಣೆಯನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ:
$ ccam shortcut work ccwork
✓ shortcut for work: ccwork
$ ccam shortcut work ccw
✓ shortcut for work: ccw (was ccwork)
$ ccam shortcut work --remove
✓ ccw removed; work has no shortcut now
$ ccam shortcut work
work: none (add one with `ccam shortcut work ccwork`)ಒಂದು ಖಾತೆಗೆ ಗರಿಷ್ಠ ಒಂದು ಶಾರ್ಟ್ಕಟ್ ಇರುತ್ತದೆ, ಅದು ~/.config/ccam/config.toml ನಲ್ಲಿ shortcut ಆಗಿ ಸಂಗ್ರಹವಾಗುತ್ತದೆ. ccam add ವಿಜಾರ್ಡ್ Create a shortcut command for <name>? [y/N] ಎಂದು ಕೇಳುತ್ತದೆ, ನಂತರ Shortcut name [cc<name>]: ಎಂದು ಕೇಳುತ್ತದೆ. ವಿಜಾರ್ಡ್ನ ಹೊರಗೆ, ccam add --shortcut ಇದ್ದಾಗ ಮಾತ್ರ ಒಂದನ್ನು ರಚಿಸುತ್ತದೆ. ccam list ಪ್ರತಿ ಖಾತೆಯ ಶಾರ್ಟ್ಕಟ್ ಅನ್ನು, ಇಲ್ಲದಿದ್ದರೆ - ಅನ್ನು ತೋರಿಸುತ್ತದೆ.
ಶಾರ್ಟ್ಕಟ್ ಪ್ರತಿ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು Claude Code ಗೆ ರವಾನಿಸುತ್ತದೆ, ccam <name> ಹೆಸರಿನ ನಂತರ ಮಾಡುವಂತೆಯೇ. ಇದರಲ್ಲಿ --dry-run ಮತ್ತು --help ಕೂಡ ಸೇರಿವೆ: ಆರಂಭವನ್ನು ಮುಂಚಿತವಾಗಿ ನೋಡಲು ccam --dry-run work ಬಳಸಿ.
ಆಯ್ಕೆಗಳು
| ಆಯ್ಕೆ | ಏನು ಮಾಡುತ್ತದೆ | ಡೀಫಾಲ್ಟ್ |
|---|---|---|
--remove |
ಖಾತೆಯ ಶಾರ್ಟ್ಕಟ್ ಮತ್ತು ಅದರ ಲಿಂಕ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ | ಆಫ್ |
-h, --help |
ಕಮಾಂಡ್ಗೆ ಸಹಾಯ | |
--dry-run |
ccam shortcut ಇದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ: ಹೆಸರನ್ನು ಪರಿಶೀಲಿಸಿ, ಉಳಿಸದೆ ಅಥವಾ ಲಿಂಕ್ ಮಾಡದೆ Would set the shortcut of work to ccwork. ಅಥವಾ Would remove ccwork, the shortcut of work. ಎಂದು ಮುದ್ರಿಸುತ್ತದೆ |
ಆಫ್ |
ccam shims install ಯಾವುದೇ ಆರ್ಗ್ಯುಮೆಂಟ್ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ, ಮತ್ತು --dry-run ಅನ್ನು ccam: --dry-run is not supported by `ccam shims install`; nothing was changed ಸಂದೇಶದೊಂದಿಗೆ ನಿರಾಕರಿಸುತ್ತದೆ.
ಹೆಸರಿನ ನಿಯಮಗಳು, ಈ ಕ್ರಮದಲ್ಲಿ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ:
a-z,0-9,.,-ಮತ್ತು_ಅಕ್ಷರಗಳ 1 ರಿಂದ 64 ಅಕ್ಷರಗಳು, ಅಕ್ಷರ ಅಥವಾ ಅಂಕಿಯಿಂದ ಆರಂಭವಾಗಬೇಕು;ccam,claudeಅಥವಾrun,usageನಂತಹ ccam ಕಮಾಂಡ್ ಆಗಿರಬಾರದು;- ಇನ್ನೊಂದು ಖಾತೆಯ ಶಾರ್ಟ್ಕಟ್ ಆಗಿರಬಾರದು;
- ಈಗಾಗಲೇ ccam ಗೆ ಲಿಂಕ್ ಅಲ್ಲದ,
~/.local/binನಲ್ಲಿರುವ ಫೈಲ್ ಆಗಿರಬಾರದು; - ನಿಮ್ಮ
PATHನಲ್ಲಿರುವ ಇನ್ನೊಂದು ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ನ ಹೆಸರಾಗಿರಬಾರದು.
ಕಮಾಂಡ್ ಮತ್ತು --remove ಎರಡನ್ನೂ ಒಟ್ಟಿಗೆ ನೀಡಿದರೆ give a command or --remove, not both ದೋಷದೊಂದಿಗೆ ನಿಲ್ಲುತ್ತದೆ. ಖಾತೆಗೆ ಈಗಾಗಲೇ ಇರುವ ಹೆಸರನ್ನೇ ಹೊಂದಿಸಿದರೆ work: ccwork (unchanged) ಎಂದು ಮುದ್ರಿಸುತ್ತದೆ, ಮತ್ತು ಅದರ ಲಿಂಕ್ ಕಾಣೆಯಾಗಿದ್ದರೆ ಮತ್ತೆ ರಚಿಸುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
ಹೆಸರನ್ನು ಹೊಂದಿಸಿದಾಗ checkShortcut ರನ್ ಆಗುತ್ತದೆ. ಅದು bin ಫೋಲ್ಡರ್ ಮತ್ತು ccam ಬೈನರಿಯ ನಿಜವಾದ ಪಾತ್ನೊಂದಿಗೆ shim.Check ಅನ್ನು ಕರೆಯುತ್ತದೆ:
ಹೆಸರು ಪರಿಶೀಲನೆಗಳ ಮೂಲಕ ಕ್ರಮವಾಗಿ ಕೆಳಗೆ ಸಾಗುತ್ತದೆ. ಪ್ರತಿ ಪರಿಶೀಲನೆಯ ಪಕ್ಕದಲ್ಲಿ ಅದು ನಿರಾಕರಿಸುವ ಒಂದು ಹೆಸರಿದೆ: Work ಮಾದರಿಗೆ ಹೊಂದುವುದಿಲ್ಲ, run ಒಂದು ccam ಕಮಾಂಡ್, ccside ಇನ್ನೊಂದು ಖಾತೆಗೆ ಸೇರಿದೆ, ccfile ~/.local/bin ನಲ್ಲಿ ಈಗಾಗಲೇ ಇರುವ ಫೈಲ್, ಮತ್ತು git /usr/bin/git ಅನ್ನು ಮರೆಮಾಡುತ್ತದೆ. ಎಲ್ಲಾ ಪರಿಶೀಲನೆಗಳನ್ನು ದಾಟಿದ ಹೆಸರನ್ನು ಮಾತ್ರ ಉಳಿಸಿ ಲಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ.
shim.Checkಹೆಸರನ್ನು^[a-z0-9][a-z0-9._-]{0,63}$ನೊಂದಿಗೆ, ನಂತರconfig.Reservedನೊಂದಿಗೆ, ನಂತರcfg.FindShortcutನೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ. ಅದು~/.local/bin/<name>ಮೇಲೆos.Lstatಕರೆಯುತ್ತದೆ, ಮತ್ತುPATHನಲ್ಲಿರುವ ಪ್ರತಿ ಇತರ ಫೋಲ್ಡರ್ಗೆos.Statಕರೆದು, ccam ಗೆ ಲಿಂಕ್ ಅಲ್ಲದ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್ ಅನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ.- ccam
config.tomlಅನ್ನುfsutil.AtomicWriteಮೂಲಕ ಉಳಿಸುತ್ತದೆ (ತಾತ್ಕಾಲಿಕ ಫೈಲ್,fsync, ಮರುಹೆಸರಿಸುವಿಕೆ). shim.Removeಹಳೆಯ ಶಾರ್ಟ್ಕಟ್ನ ಲಿಂಕ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ, ಆದರೆ ಅದು ccam ಗೆ ಲಿಂಕ್ ಆಗಿದ್ದರೆ ಮಾತ್ರ.shim.Installಕಾನ್ಫಿಗರ್ ಮಾಡಿದ, ಕಾಣೆಯಾಗಿರುವ ಪ್ರತಿ ಶಾರ್ಟ್ಕಟ್ನ ಲಿಂಕ್ ಅನ್ನುos.Symlinkಮೂಲಕ ccam ಬೈನರಿಗೆ ರಚಿಸುತ್ತದೆ; ಬೈನರಿಯ ಪಾತ್ ಅನ್ನುos.Executableಮತ್ತುfilepath.EvalSymlinksಮೂಲಕ ಕಂಡುಹಿಡಿಯಲಾಗುತ್ತದೆ. ಇದು ಎಂದಿಗೂ ಏನನ್ನೂ ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ.
os.Readlink ccam ಪಾತ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಿದಾಗ, ಅಥವಾ ಲಿಂಕ್ ಮತ್ತು ccam ಪಾತ್ ಒಂದೇ ಫೈಲ್ಗೆ ತಲುಪಿದಾಗ, ಆ ಲಿಂಕ್ ಅನ್ನು ccam ನದೇ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಅಳಿಸುವಿಕೆ ಮತ್ತು ಪ್ರತಿ ಮೇಲ್ಬರಹ ಪರಿಶೀಲನೆ ಈ ಪರೀಕ್ಷೆಯ ಮೂಲಕ ಹೋಗುತ್ತದೆ, ಹೀಗಾಗಿ ccam ತಾನು ರಚಿಸದ ಫೈಲ್ಗಳನ್ನು ಮುಟ್ಟುವುದಿಲ್ಲ.
ನೀವು ಶಾರ್ಟ್ಕಟ್ ರನ್ ಮಾಡಿದಾಗ, ನೀವು ಟೈಪ್ ಮಾಡಿದ ಹೆಸರು ಮಾತ್ರ ccam ಗೆ ಬೇಕಾಗುತ್ತದೆ:
ಶೆಲ್ PATH ನಲ್ಲಿ ccwork ಅನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತದೆ, ಕರ್ನಲ್ ಲಿಂಕ್ ಅನ್ನು ಅನುಸರಿಸಿ ccam ಬೈನರಿಯನ್ನು ಆರಂಭಿಸುತ್ತದೆ, ಮತ್ತು argv[0] ಇನ್ನೂ ccwork ಆಗಿರುತ್ತದೆ. app.Main ನಲ್ಲಿ, ccam ಅಲ್ಲದ ಯಾವುದೇ ಹೆಸರು config.toml ಅನ್ನು ಒಮ್ಮೆ ಲೋಡ್ ಮಾಡಿ shim.Lookup ಅನ್ನು ಕರೆಯುತ್ತದೆ, ಅದು shortcut ಮೌಲ್ಯ filepath.Base(argv[0]) ಗೆ ಸಮನಾಗಿರುವ ಖಾತೆಯನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತದೆ. ನಂತರ launcher.LaunchWith ಈಗಾಗಲೇ ಲೋಡ್ ಆದ ಕಾನ್ಫಿಗ್ನೊಂದಿಗೆ ccam <name> ನ ಅದೇ ಹಂತಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು argv[1:] ಅನ್ನು ಬದಲಾಯಿಸದೆ claude ಗೆ ರವಾನಿಸುತ್ತದೆ.
ಶೆಲ್ alias ಅಥವಾ ವ್ರ್ಯಾಪರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಬದಲು symlink ಏಕೆ: symlink ಪ್ರತಿ ಶೆಲ್ನಲ್ಲೂ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಲ್ಲೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಹೆಚ್ಚುವರಿ ಶೆಲ್ ಆರಂಭವನ್ನು (ಸುಮಾರು 1 ರಿಂದ 2 ms) ಸೇರಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಆರಂಭವು ಈಗಲೂ ಒಂದೇ ಫೈಲ್ ಅನ್ನು ಓದುತ್ತದೆ. scripts/perf-check.sh ಶಾರ್ಟ್ಕಟ್ ಅನ್ನು hyperfine ಮೂಲಕ, ccam <name> ನ ಅದೇ 10 ms (p95) ಮಿತಿಗೆ ಎದುರಾಗಿ ಅಳೆಯುತ್ತದೆ.
ಸುರಕ್ಷತೆ ಮತ್ತು ವಿಶೇಷ ಸಂದರ್ಭಗಳು
- ಯಾವ ಖಾತೆಗೂ ಸೇರದ ಲಿಂಕ್.
~/.local/binನಲ್ಲಿರುವ ccam ಗೆ ಇರುವ ಲಿಂಕ್ನ ಹೆಸರನ್ನು ಯಾವ ಖಾತೆಯೂ ಬಳಸದಿದ್ದರೆ, ಉದಾಹರಣೆಗೆ ನೀವುconfig.tomlನಲ್ಲಿshortcutಅನ್ನು ಕೈಯಿಂದ ಬದಲಾಯಿಸಿದ ನಂತರ, ccam ಡೀಫಾಲ್ಟ್ ಖಾತೆಗೆ ಹಿಂತಿರುಗುವುದಿಲ್ಲ. ಅದುccam: ccold is not the shortcut of any account (see `ccam list`, `ccam shortcut`)ದೋಷದೊಂದಿಗೆ ನಿಲ್ಲುತ್ತದೆ.ccam shortcutಮೂಲಕ ಹೆಸರನ್ನು ಮತ್ತೆ ಹೊಂದಿಸಿ, ಅಥವಾ ಲಿಂಕ್ ಅನ್ನು ಅಳಿಸಿ. - ಈಗಿರುವ ಫೈಲ್ಗಳು. ccam ತಾನು ರಚಿಸದ ಫೈಲ್ ಅನ್ನು ಎಂದಿಗೂ ಬದಲಾಯಿಸುವುದಿಲ್ಲ.
ccam shims install<path> already exists and is not a ccam link, so it was left aloneಸಂದೇಶದೊಂದಿಗೆ ನಿಲ್ಲುತ್ತದೆ. - ಸ್ಥಳಾಂತರಿಸಿದ ccam ಬೈನರಿ. ಆಗ ಹಳೆಯ ಲಿಂಕ್ಗಳು ಇನ್ನು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಪಾತ್ಗೆ ಸೂಚಿಸುತ್ತವೆ, ಮತ್ತು ccam ಅವುಗಳನ್ನು ತನ್ನವು ಎಂದು ಪರಿಗಣಿಸುವುದಿಲ್ಲ. ಅವುಗಳನ್ನು ಅಳಿಸಿ, ನಂತರ
ccam shims installರನ್ ಮಾಡಿ. - ಮರುಹೆಸರಿಸುವುದು ಮತ್ತು ತೆಗೆದುಹಾಕುವುದು.
ccam renameಶಾರ್ಟ್ಕಟ್ ಹೆಸರನ್ನು ಹಾಗೆಯೇ ಇಡುತ್ತದೆ, ಮತ್ತು ಲಿಂಕ್ ಕೆಲಸ ಮಾಡುತ್ತಲೇ ಇರುತ್ತದೆ, ಏಕೆಂದರೆ ಅದು ccam ಗೆ ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ccam ಹೆಸರನ್ನುconfig.tomlನಲ್ಲಿ ಹುಡುಕುತ್ತದೆ.ccam removeಖಾತೆಯ ಲಿಂಕ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ.ccam shortcut <account> <new>ಹೊಸ ಲಿಂಕ್ ರಚಿಸುವ ಮೊದಲು ಹಳೆಯದನ್ನು ಅಳಿಸುತ್ತದೆ. - PATH. ccam ಲಿಂಕ್ ರಚಿಸಿದಾಗ
~/.local/binನಿಮ್ಮPATHನಲ್ಲಿ ಇಲ್ಲದಿದ್ದರೆ, ಅದುNote: /home/me/.local/bin is not in PATH. Add it to ~/.bashrc or ~/.zshrc:ಎಂದು ಮುದ್ರಿಸಿ, ನಂತರ ಸೇರಿಸಬೇಕಾದexport PATH=...ಸಾಲನ್ನು ತೋರಿಸುತ್ತದೆ. - ನಂತರ ಪರಿಶೀಲಿಸುವುದು.
ccam doctormissing shortcuts in /home/me/.local/bin: ccworkಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಫೋಲ್ಡರ್PATHನಲ್ಲಿ ಇಲ್ಲದಿದ್ದಾಗ ಎಚ್ಚರಿಸುತ್ತದೆ.ccam doctor --fixಕಾಣೆಯಾದ ಲಿಂಕ್ಗಳನ್ನು ರಚಿಸುತ್ತದೆ.