ఫీచర్లు
షార్ట్కట్ కమాండ్లు
ఈ పేజీ ఇంగ్లీష్ నుంచి యంత్రం ద్వారా అనువదించబడింది. దిద్దుబాట్లకు స్వాగతం. ఈ పేజీని 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 ప్రతి ఖాతా షార్ట్కట్ను చూపిస్తుంది, లేకపోతే - చూపిస్తుంది.
ccam <name> పేరు తర్వాత చేసే విధంగానే, షార్ట్కట్ ప్రతి ఆర్గ్యుమెంట్ను Claude Code కు పంపుతుంది. ఇందులో --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
fsutil.AtomicWrite(తాత్కాలిక ఫైల్,fsync, rename) తోconfig.tomlను సేవ్ చేస్తుంది. shim.Removeపాత షార్ట్కట్ లింక్ను తొలగిస్తుంది, కానీ అది ccam కు లింక్ అయితేనే.shim.Installకాన్ఫిగర్ చేసిన ప్రతి షార్ట్కట్కు లేని లింక్ను,os.Executable,filepath.EvalSymlinksతో కనుగొన్న ccam బైనరీకిos.Symlinkతో సృష్టిస్తుంది. అది ఎప్పుడూ దేనినీ తీసివేయదు.
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 కు పంపుతుంది.
షెల్ అలియాస్ లేదా వ్రాపర్ స్క్రిప్ట్ కాకుండా సింలింక్ ఎందుకు: సింలింక్ ప్రతి షెల్లో, స్క్రిప్ట్లలో పనిచేస్తుంది, అదనపు షెల్ ప్రారంభాన్ని (సుమారు 1 నుంచి 2 ms) జోడించదు, ప్రారంభం ఇంకా ఒకే ఫైల్ను చదువుతుంది. scripts/perf-check.sh ccam <name> కు ఉన్న అదే 10 ms (p95) పరిమితితో hyperfine ద్వారా షార్ట్కట్ను కొలుస్తుంది.
భద్రత, ప్రత్యేక సందర్భాలు
- ఏ ఖాతాకూ చెందని లింక్.
~/.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 కు చూపిస్తుంది, ccamconfig.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లేని లింక్లను సృష్టిస్తుంది.