[{"data":1,"prerenderedAt":1547},["ShallowReactive",2],{"navigation_docs":3,"-mime-types-text-x-shellscript":673,"-mime-types-text-x-shellscript-surround":1512,"mdc-yx135-key":1513,"mdc-5ezpx3-key":1524},[4,29,123,155,193,222,251,267,408,416,456,462,468],{"title":5,"path":6,"stem":7,"children":8,"icon":28},"Getting Started","\u002Fgetting-started","01.getting-started\u002F1.index",[9,13,18,23],{"title":10,"path":6,"stem":7,"icon":11,"exact":12},"What is Poly?","i-lucide-house",true,{"title":14,"path":15,"stem":16,"icon":17},"Installation","\u002Fgetting-started\u002Finstallation","01.getting-started\u002F2.installation","i-lucide-download",{"title":19,"path":20,"stem":21,"icon":22},"Quickstart","\u002Fgetting-started\u002Fquickstart","01.getting-started\u002F3.quickstart","i-lucide-rocket",{"title":24,"path":25,"stem":26,"icon":27},"Migrate to Poly","\u002Fgetting-started\u002Fmigrate-to-poly","01.getting-started\u002F4.migrate-to-poly","i-lucide-replace",false,{"title":30,"path":31,"stem":32,"children":33,"icon":28},"File Browser","\u002Ffile-browser","02.file-browser\u002F01.index",[34,37,42,47,52,57,62,67,72,113,118],{"title":35,"path":31,"stem":32,"icon":36,"exact":12},"Overview","i-lucide-folder-open",{"title":38,"path":39,"stem":40,"icon":41},"Uploading Files","\u002Ffile-browser\u002Fuploading-your-files","02.file-browser\u002F02.uploading-your-files","i-lucide-upload",{"title":43,"path":44,"stem":45,"icon":46},"Navigating Your Files","\u002Ffile-browser\u002Fnavigating-your-files","02.file-browser\u002F03.navigating-your-files","i-lucide-map",{"title":48,"path":49,"stem":50,"icon":51},"Sidebar","\u002Ffile-browser\u002Fsidebar","02.file-browser\u002F04.sidebar","i-lucide-panel-left",{"title":53,"path":54,"stem":55,"icon":56},"Saved Searches","\u002Ffile-browser\u002Fsaved-searches","02.file-browser\u002F05.saved-searches","i-lucide-folder-search",{"title":58,"path":59,"stem":60,"icon":61},"Supported File Types","\u002Ffile-browser\u002Fsupported-file-types","02.file-browser\u002F06.supported-file-types","i-lucide-file",{"title":63,"path":64,"stem":65,"icon":66},"View Modes","\u002Ffile-browser\u002Fview-modes","02.file-browser\u002F07.view-modes","i-lucide-layout-grid",{"title":68,"path":69,"stem":70,"icon":71},"Quick View (Peek)","\u002Ffile-browser\u002Fquick-view","02.file-browser\u002F08.quick-view","i-lucide-eye",{"title":73,"path":74,"stem":75,"children":76,"icon":78},"Tools Menu","\u002Ffile-browser\u002Ftools-menu","02.file-browser\u002F09.tools-menu\u002F1.index",[77,79,84,89,94,99,104,108],{"title":73,"path":74,"stem":75,"icon":78,"exact":12},"i-lucide-wrench",{"title":80,"path":81,"stem":82,"icon":83},"Agent","\u002Ffile-browser\u002Ftools-menu\u002Fagent","02.file-browser\u002F09.tools-menu\u002F2.agent","i-lucide-bot",{"title":85,"path":86,"stem":87,"icon":88},"Chats","\u002Ffile-browser\u002Ftools-menu\u002Fchats","02.file-browser\u002F09.tools-menu\u002F3.chats","i-lucide-message-square",{"title":90,"path":91,"stem":92,"icon":93},"Outline","\u002Ffile-browser\u002Ftools-menu\u002Foutline","02.file-browser\u002F09.tools-menu\u002F4.outline","i-lucide-list",{"title":95,"path":96,"stem":97,"icon":98},"Details Panel","\u002Ffile-browser\u002Ftools-menu\u002Fdetails","02.file-browser\u002F09.tools-menu\u002F5.details","i-lucide-panel-right",{"title":100,"path":101,"stem":102,"icon":103},"Activity","\u002Ffile-browser\u002Ftools-menu\u002Factivity","02.file-browser\u002F09.tools-menu\u002F6.activity","i-lucide-activity",{"title":105,"path":106,"stem":107,"icon":66},"Waterfall","\u002Ffile-browser\u002Ftools-menu\u002Fwaterfall","02.file-browser\u002F09.tools-menu\u002F7.waterfall",{"title":109,"path":110,"stem":111,"icon":112},"Flashback","\u002Ffile-browser\u002Ftools-menu\u002Fflashback","02.file-browser\u002F09.tools-menu\u002F8.flashback","i-lucide-zap",{"title":114,"path":115,"stem":116,"icon":117},"Keyboard Shortcuts","\u002Ffile-browser\u002Fkeyboard-shortcuts","02.file-browser\u002F10.keyboard-shortcuts","i-lucide-keyboard",{"title":119,"path":120,"stem":121,"icon":122},"Offline Use","\u002Ffile-browser\u002Foffline-use","02.file-browser\u002F11.offline-use","i-lucide-wifi-off",{"title":124,"path":125,"stem":126,"children":127,"icon":28},"Searching","\u002Fsearching","03.searching\u002F1.index",[128,130,135,140,145,150],{"title":35,"path":125,"stem":126,"icon":129,"exact":12},"i-lucide-search",{"title":131,"path":132,"stem":133,"icon":134},"Text Queries","\u002Fsearching\u002Ftext-queries","03.searching\u002F2.text-queries","i-lucide-text-search",{"title":136,"path":137,"stem":138,"icon":139},"Searching by File","\u002Fsearching\u002Fsearching-by-file","03.searching\u002F3.searching-by-file","i-lucide-scan-search",{"title":141,"path":142,"stem":143,"icon":144},"Searching by File Part","\u002Fsearching\u002Fsearching-by-file-part","03.searching\u002F4.searching-by-file-part","i-lucide-crop",{"title":146,"path":147,"stem":148,"icon":149},"Searching by Color","\u002Fsearching\u002Fsearching-by-color","03.searching\u002F5.searching-by-color","i-lucide-palette",{"title":151,"path":152,"stem":153,"icon":154},"Faceted Search & Advanced Search","\u002Fsearching\u002Ffaceted-search","03.searching\u002F6.faceted-search","i-lucide-filter",{"title":156,"path":157,"stem":158,"children":159,"icon":28},"Desktop","\u002Fdesktop","04.desktop\u002F1.index",[160,163,168,173,178,183,188],{"title":161,"path":157,"stem":158,"icon":162,"exact":12},"Intro","i-lucide-monitor",{"title":164,"path":165,"stem":166,"icon":167},"Sync Folder","\u002Fdesktop\u002Fsync-folder","04.desktop\u002F2.sync-folder","i-lucide-folder-sync",{"title":169,"path":170,"stem":171,"icon":172},"CLI","\u002Fdesktop\u002Fcli","04.desktop\u002F3.cli","i-lucide-square-terminal",{"title":174,"path":175,"stem":176,"icon":177},"Tags & Colors","\u002Fdesktop\u002Ftags-and-colors","04.desktop\u002F4.tags-and-colors","i-lucide-tags",{"title":179,"path":180,"stem":181,"icon":182},"Bookmarks","\u002Fdesktop\u002Fbookmarks","04.desktop\u002F5.bookmarks","i-lucide-bookmark",{"title":184,"path":185,"stem":186,"icon":187},"Spotlight & Handoff","\u002Fdesktop\u002Fspotlight-and-handoff","04.desktop\u002F6.spotlight-and-handoff","i-lucide-sparkles",{"title":189,"path":190,"stem":191,"icon":192},"Differences from Web","\u002Fdesktop\u002Fdifferences-from-web","04.desktop\u002F7.differences-from-web","i-lucide-app-window",{"title":80,"path":194,"stem":195,"children":196,"icon":28,"defaultOpen":28},"\u002Fagent","05.agent\u002F1.index",[197,198,203,207,212,217],{"title":35,"path":194,"stem":195,"icon":83,"exact":12},{"title":199,"path":200,"stem":201,"icon":202},"Reading & Summarizing Files","\u002Fagent\u002Freading-and-summarizing","05.agent\u002F2.reading-and-summarizing","i-lucide-book-open",{"title":204,"path":205,"stem":206,"icon":129},"AI-Powered Searching","\u002Fagent\u002Fsearching","05.agent\u002F3.searching",{"title":208,"path":209,"stem":210,"icon":211},"Creating and Editing Files","\u002Fagent\u002Fcreating-and-editing-files","05.agent\u002F4.creating-and-editing-files","i-lucide-file-pen",{"title":213,"path":214,"stem":215,"icon":216},"Organizing Files","\u002Fagent\u002Forganizing-files","05.agent\u002F5.organizing-files","i-lucide-folder-symlink",{"title":218,"path":219,"stem":220,"icon":221},"Complex, Multi-Step Tasks","\u002Fagent\u002Fcomplex-tasks","05.agent\u002F6.complex-tasks","i-lucide-workflow",{"title":223,"path":224,"stem":225,"children":226,"icon":28,"defaultOpen":28},"Recovering Files","\u002Frecovering-files","06.recovering-files\u002F1.index",[227,229,233,236,241,246],{"title":35,"path":224,"stem":225,"icon":228,"exact":12},"i-lucide-history",{"title":230,"path":231,"stem":232,"icon":71},"Viewing Versions","\u002Frecovering-files\u002Fviewing-versions","06.recovering-files\u002F2.viewing-versions",{"title":109,"path":234,"stem":235,"icon":112},"\u002Frecovering-files\u002Fflashback","06.recovering-files\u002F3.flashback",{"title":237,"path":238,"stem":239,"icon":240},"Restoring Versions","\u002Frecovering-files\u002Frestoring-versions","06.recovering-files\u002F4.restoring-versions","i-lucide-rotate-ccw",{"title":242,"path":243,"stem":244,"icon":245},"Reverting Changes","\u002Frecovering-files\u002Freverting-changes","06.recovering-files\u002F5.reverting-changes","i-lucide-undo-2",{"title":247,"path":248,"stem":249,"icon":250},"Limitations","\u002Frecovering-files\u002Flimitations","06.recovering-files\u002F6.limitations","i-lucide-triangle-alert",{"title":252,"path":253,"stem":254,"children":255,"icon":28,"defaultOpen":28},"Sharing","\u002Fsharing","07.sharing\u002F1.index",[256,258,262],{"title":35,"path":253,"stem":254,"icon":257,"exact":12},"i-lucide-share-2",{"title":259,"path":260,"stem":261,"icon":257},"Sharing Files","\u002Fsharing\u002Fsharing-files","07.sharing\u002F2.sharing-files",{"title":263,"path":264,"stem":265,"icon":266},"Shared Drives","\u002Fsharing\u002Fshared-drives","07.sharing\u002F3.shared-drives","i-lucide-users",{"title":169,"path":268,"stem":269,"children":270,"icon":28,"defaultOpen":28},"\u002Fcli","08.cli\u002F1.index",[271,273,278,399,404],{"title":14,"path":268,"stem":269,"icon":272,"exact":12},"i-lucide-terminal",{"title":274,"path":275,"stem":276,"icon":277},"How it Works","\u002Fcli\u002Fhow-it-works","08.cli\u002F2.how-it-works","i-lucide-cog",{"title":279,"path":280,"stem":281,"children":282,"icon":284},"Commands","\u002Fcli\u002Fcommands","08.cli\u002F3.commands\u002F01.index",[283,285,289,293,297,302,307,312,317,322,327,332,337,342,347,351,356,360,365,369,373,377,382,386,390,394],{"title":279,"path":280,"stem":281,"icon":284,"exact":12},"i-lucide-list-tree",{"title":286,"path":287,"stem":288,"icon":93},"ls","\u002Fcli\u002Fcommands\u002Fls","08.cli\u002F3.commands\u002F02.ls",{"title":290,"path":291,"stem":292,"icon":56},"find","\u002Fcli\u002Fcommands\u002Ffind","08.cli\u002F3.commands\u002F03.find",{"title":294,"path":295,"stem":296,"icon":129},"search","\u002Fcli\u002Fcommands\u002Fsearch","08.cli\u002F3.commands\u002F04.search",{"title":298,"path":299,"stem":300,"icon":301},"cp","\u002Fcli\u002Fcommands\u002Fcp","08.cli\u002F3.commands\u002F05.cp","i-lucide-copy",{"title":303,"path":304,"stem":305,"icon":306},"mv","\u002Fcli\u002Fcommands\u002Fmv","08.cli\u002F3.commands\u002F06.mv","i-lucide-move",{"title":308,"path":309,"stem":310,"icon":311},"rm","\u002Fcli\u002Fcommands\u002Frm","08.cli\u002F3.commands\u002F07.rm","i-lucide-trash-2",{"title":313,"path":314,"stem":315,"icon":316},"mkdir","\u002Fcli\u002Fcommands\u002Fmkdir","08.cli\u002F3.commands\u002F08.mkdir","i-lucide-folder-plus",{"title":318,"path":319,"stem":320,"icon":321},"mkurl","\u002Fcli\u002Fcommands\u002Fmkurl","08.cli\u002F3.commands\u002F09.mkurl","i-lucide-link",{"title":323,"path":324,"stem":325,"icon":326},"mksearch","\u002Fcli\u002Fcommands\u002Fmksearch","08.cli\u002F3.commands\u002F10.mksearch","i-lucide-search-code",{"title":328,"path":329,"stem":330,"icon":331},"mkdrive","\u002Fcli\u002Fcommands\u002Fmkdrive","08.cli\u002F3.commands\u002F11.mkdrive","i-lucide-hard-drive",{"title":333,"path":334,"stem":335,"icon":336},"rmdrive","\u002Fcli\u002Fcommands\u002Frmdrive","08.cli\u002F3.commands\u002F12.rmdrive","i-lucide-trash",{"title":338,"path":339,"stem":340,"icon":341},"wget","\u002Fcli\u002Fcommands\u002Fwget","08.cli\u002F3.commands\u002F13.wget","i-lucide-cloud-download",{"title":343,"path":344,"stem":345,"icon":346},"file show","\u002Fcli\u002Fcommands\u002Ffile-show","08.cli\u002F3.commands\u002F14.file-show","i-lucide-info",{"title":348,"path":349,"stem":350,"icon":202},"file read","\u002Fcli\u002Fcommands\u002Ffile-read","08.cli\u002F3.commands\u002F15.file-read",{"title":352,"path":353,"stem":354,"icon":355},"file write","\u002Fcli\u002Fcommands\u002Ffile-write","08.cli\u002F3.commands\u002F16.file-write","i-lucide-pencil",{"title":357,"path":358,"stem":359,"icon":211},"file update","\u002Fcli\u002Fcommands\u002Ffile-update","08.cli\u002F3.commands\u002F17.file-update",{"title":361,"path":362,"stem":363,"icon":364},"file search","\u002Fcli\u002Fcommands\u002Ffile-search","08.cli\u002F3.commands\u002F18.file-search","i-lucide-file-search",{"title":366,"path":367,"stem":368,"icon":228},"file history","\u002Fcli\u002Fcommands\u002Ffile-history","08.cli\u002F3.commands\u002F19.file-history",{"title":370,"path":371,"stem":372,"icon":240},"file restore","\u002Fcli\u002Fcommands\u002Ffile-restore","08.cli\u002F3.commands\u002F20.file-restore",{"title":374,"path":375,"stem":376,"icon":245},"file revert","\u002Fcli\u002Fcommands\u002Ffile-revert","08.cli\u002F3.commands\u002F21.file-revert",{"title":378,"path":379,"stem":380,"icon":381},"file open","\u002Fcli\u002Fcommands\u002Ffile-open","08.cli\u002F3.commands\u002F22.file-open","i-lucide-external-link",{"title":383,"path":384,"stem":385,"icon":17},"file download","\u002Fcli\u002Fcommands\u002Ffile-download","08.cli\u002F3.commands\u002F23.file-download",{"title":387,"path":388,"stem":389,"icon":257},"file share","\u002Fcli\u002Fcommands\u002Ffile-share","08.cli\u002F3.commands\u002F24.file-share",{"title":391,"path":392,"stem":393,"icon":192},"app","\u002Fcli\u002Fcommands\u002Fapp","08.cli\u002F3.commands\u002F25.app",{"title":395,"path":396,"stem":397,"icon":398},"auth","\u002Fcli\u002Fcommands\u002Fauth","08.cli\u002F3.commands\u002F26.auth","i-lucide-key-round",{"title":400,"path":401,"stem":402,"icon":403},"Global Flags","\u002Fcli\u002Fglobal-flags","08.cli\u002F4.global-flags","i-lucide-sliders-horizontal",{"title":405,"path":406,"stem":407,"icon":83},"Agent Skill","\u002Fcli\u002Fagent-skill","08.cli\u002F5.agent-skill",{"title":409,"path":410,"stem":411,"children":412,"icon":28,"defaultOpen":28},"Privacy & Security","\u002Fprivacy-and-security","09.privacy-and-security\u002F1.index",[413],{"title":414,"path":410,"stem":411,"icon":415,"exact":12},"Our Privacy Commitment","i-lucide-shield-check",{"title":417,"path":418,"stem":419,"children":420,"icon":28,"defaultOpen":28},"Integrations & MCP","\u002Fintegrations","10.integrations\u002F1.index",[421,423,428,433,438,442,447,452],{"title":35,"path":418,"stem":419,"icon":422,"exact":12},"i-lucide-plug",{"title":424,"path":425,"stem":426,"icon":427},"Claude Code","\u002Fintegrations\u002Fclaude-code","10.integrations\u002F2.claude-code","i-simple-icons-claude",{"title":429,"path":430,"stem":431,"icon":432},"Claude CoWork (Desktop)","\u002Fintegrations\u002Fclaude-cowork","10.integrations\u002F3.claude-cowork","i-simple-icons-anthropic",{"title":434,"path":435,"stem":436,"icon":437},"ChatGPT Work (Desktop)","\u002Fintegrations\u002Fchatgpt-work","10.integrations\u002F4.chatgpt-work","i-simple-icons-openai",{"title":439,"path":440,"stem":441,"icon":437},"ChatGPT","\u002Fintegrations\u002Fchatgpt","10.integrations\u002F5.chatgpt",{"title":443,"path":444,"stem":445,"icon":446},"Gemini","\u002Fintegrations\u002Fgemini","10.integrations\u002F6.gemini","i-simple-icons-googlegemini",{"title":448,"path":449,"stem":450,"icon":451},"VS Code & Cursor","\u002Fintegrations\u002Fvscode-cursor","10.integrations\u002F7.vscode-cursor","i-simple-icons-visualstudiocode",{"title":453,"path":454,"stem":455,"icon":78},"Using MCP","\u002Fintegrations\u002Fusing-mcp","10.integrations\u002F8.using-mcp",{"title":457,"path":458,"stem":459,"children":460,"icon":28,"defaultOpen":28},"Troubleshooting","\u002Ftroubleshooting","11.troubleshooting\u002F1.index",[461],{"title":457,"path":458,"stem":459,"icon":78,"exact":12},{"title":463,"path":464,"stem":465,"children":466,"icon":28,"defaultOpen":28},"Roadmap","\u002Froadmap","12.roadmap\u002F1.index",[467],{"title":463,"path":464,"stem":465,"icon":46,"exact":12},{"title":469,"icon":28,"defaultOpen":28,"path":470,"stem":471,"children":472,"page":28},"Releases","\u002Freleases","13.releases",[473,477],{"title":474,"path":475,"stem":476},"Latest","\u002Freleases\u002Fall-releases\u002F2026-09-01-v0-beta-09-01","13.releases\u002F1.latest",{"title":478,"icon":28,"defaultOpen":28,"path":479,"stem":480,"children":481,"page":28},"All releases","\u002Freleases\u002Fall-releases","13.releases\u002F2.all-releases",[482,489,497,505,513,521,529,537,545,553,561,569,577,585,593,601,609,617,625,633,641,649,657,665],{"title":483,"path":475,"stem":484,"release-notes":485},"v0.beta.2026.09.01","13.releases\u002F2.all-releases\u002F2026-09-01-v0-beta-09-01",{"date":486,"banner":487,"icon":488,"version":483},"2026-09-01","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-09-01\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-09-01\u002Fsticker.png",{"title":490,"path":491,"stem":492,"release-notes":493},"v0.beta.2026.08.27","\u002Freleases\u002Fall-releases\u002F2026-08-27-v0-beta-08-27","13.releases\u002F2.all-releases\u002F2026-08-27-v0-beta-08-27",{"date":494,"banner":495,"icon":496,"version":490},"2026-08-27","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-27\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-27\u002Ficon.png",{"title":498,"path":499,"stem":500,"release-notes":501},"v0.beta.2026.08.18","\u002Freleases\u002Fall-releases\u002F2026-08-18-v0-beta-08-18","13.releases\u002F2.all-releases\u002F2026-08-18-v0-beta-08-18",{"date":502,"banner":503,"icon":504,"version":498},"2026-08-18","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-18\u002Fbanner.png","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-18\u002Fsticker.png",{"title":506,"path":507,"stem":508,"release-notes":509},"v0.beta.2026.08.11","\u002Freleases\u002Fall-releases\u002F2026-08-11-v0-beta-08-11","13.releases\u002F2.all-releases\u002F2026-08-11-v0-beta-08-11",{"date":510,"banner":511,"icon":512,"version":506},"2026-08-11","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-11\u002Fbanner.png","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-08-11\u002FUnknown-12.png",{"title":514,"path":515,"stem":516,"release-notes":517},"v0.beta.2026.01.22","\u002Freleases\u002Fall-releases\u002F2026-01-22-v0-beta-01-22","13.releases\u002F2.all-releases\u002F2026-01-22-v0-beta-01-22",{"date":518,"banner":519,"icon":520,"version":514},"2026-01-22","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-22\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-22\u002Ficon.webp",{"title":522,"path":523,"stem":524,"release-notes":525},"v0.beta.2026.01.13","\u002Freleases\u002Fall-releases\u002F2026-01-13-v0-beta-01-13","13.releases\u002F2.all-releases\u002F2026-01-13-v0-beta-01-13",{"date":526,"banner":527,"icon":528,"version":522},"2026-01-13","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-13\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-13\u002Ficon.webp",{"title":530,"path":531,"stem":532,"release-notes":533},"v0.beta.2026.01.09","\u002Freleases\u002Fall-releases\u002F2026-01-09-v0-beta-01-09","13.releases\u002F2.all-releases\u002F2026-01-09-v0-beta-01-09",{"date":534,"banner":535,"icon":536,"version":530},"2026-01-09","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-09\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2026-01-09\u002Ficon.webp",{"title":538,"path":539,"stem":540,"release-notes":541},"v0.beta.2025.12.31","\u002Freleases\u002Fall-releases\u002F2025-12-31-v0-beta-12-31","13.releases\u002F2.all-releases\u002F2025-12-31-v0-beta-12-31",{"date":542,"banner":543,"icon":544,"version":538},"2025-12-31","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-31\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-31\u002Ficon.webp",{"title":546,"path":547,"stem":548,"release-notes":549},"v0.beta.2025.12.26","\u002Freleases\u002Fall-releases\u002F2025-12-26-v0-beta-12-26","13.releases\u002F2.all-releases\u002F2025-12-26-v0-beta-12-26",{"date":550,"banner":551,"icon":552,"version":546},"2025-12-26","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-26\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-26\u002Ficon.webp",{"title":554,"path":555,"stem":556,"release-notes":557},"v0.beta.2025.12.16","\u002Freleases\u002Fall-releases\u002F2025-12-16-v0-beta-12-16","13.releases\u002F2.all-releases\u002F2025-12-16-v0-beta-12-16",{"date":558,"banner":559,"icon":560,"version":554},"2025-12-16","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-16\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-16\u002Ficon.webp",{"title":562,"path":563,"stem":564,"release-notes":565},"v0.beta.2025.12.12","\u002Freleases\u002Fall-releases\u002F2025-12-12-v0-beta-12-12","13.releases\u002F2.all-releases\u002F2025-12-12-v0-beta-12-12",{"date":566,"banner":567,"icon":568,"version":562},"2025-12-12","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-12\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-12\u002Ficon.webp",{"title":570,"path":571,"stem":572,"release-notes":573},"v0.beta.2025.12.03","\u002Freleases\u002Fall-releases\u002F2025-12-03-v0-beta-12-03","13.releases\u002F2.all-releases\u002F2025-12-03-v0-beta-12-03",{"date":574,"banner":575,"icon":576,"version":570},"2025-12-03","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-03\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-12-03\u002Ficon.webp",{"title":578,"path":579,"stem":580,"release-notes":581},"v0.beta.2025.11.26","\u002Freleases\u002Fall-releases\u002F2025-11-26-v0-beta-11-26","13.releases\u002F2.all-releases\u002F2025-11-26-v0-beta-11-26",{"date":582,"banner":583,"icon":584,"version":578},"2025-11-26","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-26\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-26\u002Ficon.webp",{"title":586,"path":587,"stem":588,"release-notes":589},"v0.beta.2025.11.19","\u002Freleases\u002Fall-releases\u002F2025-11-19-v0-beta-11-19","13.releases\u002F2.all-releases\u002F2025-11-19-v0-beta-11-19",{"date":590,"banner":591,"icon":592,"version":586},"2025-11-19","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-19\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-19\u002Ficon.webp",{"title":594,"path":595,"stem":596,"release-notes":597},"v0.beta.2025.11.13","\u002Freleases\u002Fall-releases\u002F2025-11-13-v0-beta-11-13","13.releases\u002F2.all-releases\u002F2025-11-13-v0-beta-11-13",{"date":598,"banner":599,"icon":600,"version":594},"2025-11-13","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-13\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-13\u002Ficon.webp",{"title":602,"path":603,"stem":604,"release-notes":605},"v0.beta.2025.11.05","\u002Freleases\u002Fall-releases\u002F2025-11-05-v0-beta-11-05","13.releases\u002F2.all-releases\u002F2025-11-05-v0-beta-11-05",{"date":606,"banner":607,"icon":608,"version":602},"2025-11-05","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-05\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-11-05\u002Ficon.webp",{"title":610,"path":611,"stem":612,"release-notes":613},"v0.beta.2025.10.29","\u002Freleases\u002Fall-releases\u002F2025-10-29-v0-beta-10-29","13.releases\u002F2.all-releases\u002F2025-10-29-v0-beta-10-29",{"date":614,"banner":615,"icon":616,"version":610},"2025-10-29","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-29\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-29\u002Ficon.webp",{"title":618,"path":619,"stem":620,"release-notes":621},"v0.beta.2025.10.21","\u002Freleases\u002Fall-releases\u002F2025-10-21-v0-beta-10-21","13.releases\u002F2.all-releases\u002F2025-10-21-v0-beta-10-21",{"date":622,"banner":623,"icon":624,"version":618},"2025-10-21","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-21\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-21\u002Ficon.webp",{"title":626,"path":627,"stem":628,"release-notes":629},"v0.beta.2025.10.14","\u002Freleases\u002Fall-releases\u002F2025-10-14-v0-beta-10-14","13.releases\u002F2.all-releases\u002F2025-10-14-v0-beta-10-14",{"date":630,"banner":631,"icon":632,"version":626},"2025-10-14","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-14\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-14\u002Ficon.webp",{"title":634,"path":635,"stem":636,"release-notes":637},"v0.beta.2025.10.08","\u002Freleases\u002Fall-releases\u002F2025-10-08-v0-beta-10-08","13.releases\u002F2.all-releases\u002F2025-10-08-v0-beta-10-08",{"date":638,"banner":639,"icon":640,"version":634},"2025-10-08","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-08\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-08\u002Ficon.webp",{"title":642,"path":643,"stem":644,"release-notes":645},"v0.beta.2025.10.01","\u002Freleases\u002Fall-releases\u002F2025-10-01-v0-beta-10-01","13.releases\u002F2.all-releases\u002F2025-10-01-v0-beta-10-01",{"date":646,"banner":647,"icon":648,"version":642},"2025-10-01","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-01\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-10-01\u002Ficon.webp",{"title":650,"path":651,"stem":652,"release-notes":653},"v0.beta.2025.09.23","\u002Freleases\u002Fall-releases\u002F2025-09-23-v0-beta-09-23","13.releases\u002F2.all-releases\u002F2025-09-23-v0-beta-09-23",{"date":654,"banner":655,"icon":656,"version":650},"2025-09-23","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-23\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-23\u002Ficon.webp",{"title":658,"path":659,"stem":660,"release-notes":661},"v0.beta.2025.09.16","\u002Freleases\u002Fall-releases\u002F2025-09-16-v0-beta-09-16","13.releases\u002F2.all-releases\u002F2025-09-16-v0-beta-09-16",{"date":662,"banner":663,"icon":664,"version":658},"2025-09-16","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-16\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-16\u002Ficon.webp",{"title":666,"path":667,"stem":668,"release-notes":669},"v0.beta.2025.09.03","\u002Freleases\u002Fall-releases\u002F2025-09-03-v0-beta-09-03","13.releases\u002F2.all-releases\u002F2025-09-03-v0-beta-09-03",{"date":670,"banner":671,"icon":672,"version":666},"2025-09-03","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-03\u002Fbanner.jpg","https:\u002F\u002Ffiles.poly.app\u002Fassets\u002Frelease-notes\u002F2025-09-03\u002Ficon.webp",{"id":674,"title":675,"body":676,"description":1485,"extension":1486,"file-extension":1487,"links":1487,"meta":1488,"mime-type":1489,"navigation":28,"path":1506,"release-notes":1487,"seo":1507,"stem":1510,"__hash__":1511},"docs\u002Fmime-types\u002Ftext\u002Fx-shellscript.md","Shell Script MIME Type",{"type":677,"value":678,"toc":1469},"minimark",[679,689,712,730,736,743,773,787,813,873,876,880,883,938,956,989,992,999,1013,1016,1038,1042,1061,1065,1076,1087,1090,1097,1100,1178,1201,1205,1209,1212,1235,1248,1254,1278,1284,1465],[680,681,683,684,688],"h2",{"id":682},"what-does-textx-shellscript-mean","What does ",[685,686,687],"code",{},"text\u002Fx-shellscript"," mean?",[690,691,692,693,695,696,699,700],"p",{},"The ",[685,694,687],{}," media type labels a text payload as a shell script. Such a file contains commands for a command-line shell, commonly the POSIX ",[685,697,698],{},"sh"," language or a shell-specific dialect such as Bash, Zsh, or KornShell. POSIX defines a shell script simply as a file containing shell commands.",[701,702,703],"sup",{},[704,705,711],"a",{"href":706,"ariaDescribedBy":707,"dataFootnoteRef":709,"id":710},"#user-content-fn-1",[708],"footnote-label","","user-content-fnref-1","1",[690,713,714,715,721,722,725,726,729],{},"The usual filename extension is ",[704,716,718],{"href":717},"\u002Ffile-extensions\u002Fsh",[685,719,720],{},".sh",", but the extension is a convention rather than part of the language. Executable scripts on Unix-like systems often have no extension at all. A script can also be passed directly to an interpreter, as in ",[685,723,724],{},"bash setup.sh"," or ",[685,727,728],{},"sh task.sh",".",[731,732,733,735],"note",{},[685,734,687],{}," describes textual source. It does not identify one precise shell dialect, prove that the script is valid, or grant permission to execute it.",[680,737,739,740,742],{"id":738},"is-textx-shellscript-an-official-mime-type","Is ",[685,741,687],{}," an official MIME type?",[690,744,745,746,748,749,757,758,761,762,764,765],{},"No. ",[685,747,687],{}," is not registered in IANA's media type registry, so it has no official registration template, standardized extension list, named inventor, or registration date.",[701,750,751],{},[704,752,756],{"href":753,"ariaDescribedBy":754,"dataFootnoteRef":709,"id":755},"#user-content-fn-2",[708],"user-content-fnref-2","2"," The ",[685,759,760],{},"x-"," prefix survives from older conventions for nonstandard names. Current media type guidance no longer treats an ",[685,763,760],{}," prefix as a registration tree and recommends registration for generally useful, widely deployed types.",[701,766,767],{},[704,768,772],{"href":769,"ariaDescribedBy":770,"dataFootnoteRef":709,"id":771},"#user-content-fn-3",[708],"user-content-fnref-3","3",[690,774,775,776,778,779],{},"The label is still used in real systems. Cloud-init recognizes ",[685,777,687],{}," for user-data scripts, and AWS documents it for shell-script parts in MIME multipart user data.",[701,780,781],{},[704,782,786],{"href":783,"ariaDescribedBy":784,"dataFootnoteRef":709,"id":785},"#user-content-fn-4",[708],"user-content-fnref-4","4",[690,788,789,790,793,794,797,798,729,801,809,810,812],{},"Linux desktop MIME databases commonly use a different nonstandard name, ",[685,791,792],{},"application\u002Fx-shellscript",". The freedesktop shared MIME database associates that name with ",[685,795,796],{},"*.sh",", treats it as plain text and executable content, and detects several interpreter paths after ",[685,799,800],{},"#!",[701,802,803],{},[704,804,808],{"href":805,"ariaDescribedBy":806,"dataFootnoteRef":709,"id":807},"#user-content-fn-5",[708],"user-content-fnref-5","5"," It does not list ",[685,811,687],{}," as an alias, so software can disagree about which label to emit.",[814,815,816,832],"table",{},[817,818,819],"thead",{},[820,821,822,826,829],"tr",{},[823,824,825],"th",{},"Context",[823,827,828],{},"Common label",[823,830,831],{},"Practical meaning",[833,834,835,848,860],"tbody",{},[820,836,837,841,845],{},[838,839,840],"td",{},"Cloud-init MIME user data",[838,842,843],{},[685,844,687],{},[838,846,847],{},"A shell-script part that cloud-init may run",[820,849,850,853,857],{},[838,851,852],{},"Linux shared MIME database",[838,854,855],{},[685,856,792],{},[838,858,859],{},"A shell script identified by name or interpreter line",[820,861,862,865,870],{},[838,863,864],{},"Generic web delivery",[838,866,867],{},[685,868,869],{},"text\u002Fplain; charset=utf-8",[838,871,872],{},"Text meant to be displayed rather than dispatched as a specialized script",[690,874,875],{},"If two systems must exchange these files, agree on the media type instead of assuming every MIME database uses the same spelling.",[680,877,879],{"id":878},"how-do-you-identify-a-shell-script","How do you identify a shell script?",[690,881,882],{},"Shell scripts do not have one fixed binary signature. They are text files, and the first line often names an interpreter with a shebang, for example:",[884,885,888],"pre",{"className":886,"code":887,"language":698,"meta":709,"style":709},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","#!\u002Fusr\u002Fbin\u002Fenv bash\nset -euo pipefail\nprintf '%s\\n' \"Hello\"\n",[685,889,890,899,913],{"__ignoreMap":709},[891,892,895],"span",{"class":893,"line":894},"line",1,[891,896,898],{"class":897},"sHwdD","#!\u002Fusr\u002Fbin\u002Fenv bash\n",[891,900,902,906,910],{"class":893,"line":901},2,[891,903,905],{"class":904},"s2Zo4","set",[891,907,909],{"class":908},"sfazB"," -euo",[891,911,912],{"class":908}," pipefail\n",[891,914,916,919,923,926,929,932,935],{"class":893,"line":915},3,[891,917,918],{"class":904},"printf",[891,920,922],{"class":921},"sMK4o"," '",[891,924,925],{"class":908},"%s\\n",[891,927,928],{"class":921},"'",[891,930,931],{"class":921}," \"",[891,933,934],{"class":908},"Hello",[891,936,937],{"class":921},"\"\n",[690,939,940,941,943,944,952,953,955],{},"GNU Bash documents that ",[685,942,800],{}," at the beginning of the first line can tell the operating system which interpreter to use. It also notes that interpreter-line details vary between systems.",[701,945,946],{},[704,947,951],{"href":948,"ariaDescribedBy":949,"dataFootnoteRef":709,"id":950},"#user-content-fn-6",[708],"user-content-fnref-6","6"," This makes ",[685,954,800],{}," useful evidence, but not a universal magic number:",[957,958,959,968,978,986],"ul",{},[960,961,962,963,725,965,729],"li",{},"A script can omit the shebang and still run when passed to ",[685,964,698],{},[685,966,967],{},"bash",[960,969,970,973,974,977],{},[685,971,972],{},"#!\u002Fbin\u002Fsh"," and ",[685,975,976],{},"#!\u002Fusr\u002Fbin\u002Fenv bash"," can select languages with different features.",[960,979,980,981,985],{},"A ",[704,982,983],{"href":717},[685,984,720],{}," filename can contain ordinary text or even unrelated data.",[960,987,988],{},"A valid shell script can have no extension.",[690,990,991],{},"For those reasons, this page does not claim a magic number. Check the filename, inspect the first line, and parse the file with the intended shell when accuracy matters.",[680,993,995,996,998],{"id":994},"how-to-open-and-check-a-sh-file","How to open and check a ",[685,997,720],{}," file",[690,1000,1001,1002,1006,1007],{},"Any plain-text or source-code editor can open an ",[704,1003,1004],{"href":717},[685,1005,720],{}," file. Visual Studio Code and similar editors can highlight shell syntax. Bash can read and execute a file supplied as its script argument.",[701,1008,1009],{},[704,1010,951],{"href":948,"ariaDescribedBy":1011,"dataFootnoteRef":709,"id":1012},[708],"user-content-fnref-6-2",[690,1014,1015],{},"Before running an unfamiliar script:",[1017,1018,1019,1022,1025,1032,1035],"ol",{},[960,1020,1021],{},"Open it as text and inspect every command.",[960,1023,1024],{},"Confirm the interpreter named by the shebang is installed and appropriate.",[960,1026,1027,1028,1031],{},"Use the intended shell's syntax-check mode, such as ",[685,1029,1030],{},"bash -n script.sh",", when applicable.",[960,1033,1034],{},"Review variables, quoting, redirects, downloads, privilege changes, and destructive commands.",[960,1036,1037],{},"Run it only with the permissions and isolation you are prepared to grant.",[1039,1040,1041],"warning",{},"A shell script is executable instructions, even though its bytes are readable text. Merely previewing or indexing it should not run it. Treat scripts from an untrusted source like any other untrusted program.",[690,1043,1044,1045,973,1048,1051,1052,1060],{},"Browsers can generally display textual responses, but web behavior depends on the server's ",[685,1046,1047],{},"Content-Type",[685,1049,1050],{},"Content-Disposition"," headers. Browsers use the MIME type, not just the extension, to decide how to handle a resource.",[701,1053,1054],{},[704,1055,1059],{"href":1056,"ariaDescribedBy":1057,"dataFootnoteRef":709,"id":1058},"#user-content-fn-7",[708],"user-content-fnref-7","7"," Serving a script as text does not make the browser execute shell commands.",[680,1062,1064],{"id":1063},"support-in-poly","Support in Poly",[690,1066,1067,1068,1072,1073,1075],{},"Poly recognizes ",[704,1069,1070],{"href":717},[685,1071,720],{}," files as ",[685,1074,687],{},". You can:",[957,1077,1078,1081,1084],{},[960,1079,1080],{},"Open the script in a code-friendly text viewer with language-aware highlighting.",[960,1082,1083],{},"Search its filename and readable contents using exact or semantic queries.",[960,1085,1086],{},"Ask the Poly agent to read, explain, summarize, or reason about the source.",[690,1088,1089],{},"Poly does not execute the script while previewing, indexing, searching, or making it available to the agent. This keeps the experience focused on inspection and understanding. It also means Poly does not test whether commands succeed on a particular operating system, shell version, account, or environment.",[680,1091,1093,1094,1096],{"id":1092},"portability-between-sh-bash-and-other-shells","Portability between ",[685,1095,698],{},", Bash, and other shells",[690,1098,1099],{},"The media type cannot tell you which shell language a file uses. The interpreter line and the script's syntax carry that information.",[814,1101,1102,1115],{},[817,1103,1104],{},[820,1105,1106,1109,1112],{},[823,1107,1108],{},"Script characteristic",[823,1110,1111],{},"Likely expectation",[823,1113,1114],{},"Portability consequence",[833,1116,1117,1132,1147,1160],{},[820,1118,1119,1123,1126],{},[838,1120,1121],{},[685,1122,972],{},[838,1124,1125],{},"POSIX-style shell language",[838,1127,1128,1129,1131],{},"Avoid Bash-only syntax if the system's ",[685,1130,698],{}," is another shell",[820,1133,1134,1138,1144],{},[838,1135,1136],{},[685,1137,976],{},[838,1139,1140,1141],{},"Bash found through ",[685,1142,1143],{},"PATH",[838,1145,1146],{},"Bash features are reasonable, but the resolved version can vary",[820,1148,1149,1154,1157],{},[838,1150,1151],{},[685,1152,1153],{},"#!\u002Fbin\u002Fzsh",[838,1155,1156],{},"Zsh at a fixed path",[838,1158,1159],{},"The path and Zsh must exist on the target system",[820,1161,1162,1165,1168],{},[838,1163,1164],{},"No shebang",[838,1166,1167],{},"Caller chooses the interpreter",[838,1169,1170,1171,973,1174,1177],{},"Running ",[685,1172,1173],{},"sh file",[685,1175,1176],{},"bash file"," can produce different results",[690,1179,1180,1181,1183,1184,1186,1187,1195,1196,1200],{},"POSIX specifies the ",[685,1182,698],{}," command language, while Bash documents behavior that changes when it is invoked as ",[685,1185,698],{}," or placed in POSIX mode.",[701,1188,1189],{},[704,1190,1194],{"href":1191,"ariaDescribedBy":1192,"dataFootnoteRef":709,"id":1193},"#user-content-fn-8",[708],"user-content-fnref-8","8"," A ",[704,1197,1198],{"href":717},[685,1199,720],{}," extension alone therefore does not promise POSIX compatibility.",[1202,1203,1204],"tip",{},"Name the intended interpreter explicitly in documentation and automated jobs. When portability matters, test the script with the actual shells and operating systems you support.",[680,1206,1208],{"id":1207},"converting-a-shell-script","Converting a shell script",[690,1210,1211],{},"A shell script is already text, so most \"conversion\" tasks are really transformations:",[957,1213,1214,1217,1220,1223,1226],{},[960,1215,1216],{},"Save it as UTF-8 text when tools need a consistent encoding.",[960,1218,1219],{},"Normalize line endings for the target operating system.",[960,1221,1222],{},"Change the shebang only when the new interpreter can parse the script.",[960,1224,1225],{},"Rewrite nonportable commands or shell-specific syntax when moving between shells.",[960,1227,1228,1229,1232,1233,729],{},"Use ",[685,1230,1231],{},"text\u002Fplain"," for generic display when the receiver has no agreed meaning for ",[685,1234,687],{},[690,1236,1237,1238,1241,1242,1245,1246,729],{},"Renaming ",[685,1239,1240],{},"script.sh"," to ",[685,1243,1244],{},"script.txt"," changes how some applications classify it, but it does not remove commands or make unsafe content safe. Likewise, changing only the MIME label does not translate Bash syntax into POSIX ",[685,1247,698],{},[680,1249,1251,1253],{"id":1250},"textx-shellscript-in-cloud-init",[685,1252,687],{}," in cloud-init",[690,1255,1256,1257,1259,1260,1268,1269,1271,1272],{},"In cloud-init, this media type can be operational rather than merely descriptive. A user-data script beginning with ",[685,1258,800],{}," is run once per instance during cloud-init's final stage.",[701,1261,1262],{},[704,1263,1267],{"href":1264,"ariaDescribedBy":1265,"dataFootnoteRef":709,"id":1266},"#user-content-fn-9",[708],"user-content-fnref-9","9"," AWS also uses ",[685,1270,687],{}," to distinguish shell-script blocks inside multipart user data.",[701,1273,1274],{},[704,1275,786],{"href":783,"ariaDescribedBy":1276,"dataFootnoteRef":709,"id":1277},[708],"user-content-fnref-4-2",[690,1279,1280,1281,1283],{},"That context is important. A mail attachment or web response labeled ",[685,1282,687],{}," should not automatically execute, while a cloud provisioning system may intentionally interpret the same label as instructions. Always evaluate the label together with the receiving application's documented behavior.",[1285,1286,1289,1294],"section",{"className":1287,"dataFootnotes":709},[1288],"footnotes",[680,1290,1293],{"className":1291,"id":708},[1292],"sr-only","Footnotes",[1017,1295,1296,1317,1337,1353,1377,1395,1418,1434,1449],{},[960,1297,1299,1300,1309,1310],{"id":1298},"user-content-fn-1","The Open Group. ",[704,1301,1305],{"href":1302,"rel":1303},"https:\u002F\u002Fpubs.opengroup.org\u002Fonlinepubs\u002F9799919799\u002Fbasedefs\u002FV1_chap03.html#tag_03_335",[1304],"nofollow",[1306,1307,1308],"em",{},"POSIX.1-2024 Definitions: Shell Script",". ",[704,1311,1316],{"href":1312,"ariaLabel":1313,"className":1314,"dataFootnoteBackref":709},"#user-content-fnref-1","Back to reference 1",[1315],"data-footnote-backref","↩",[960,1318,1320,1321,1328,1329,1309,1332],{"id":1319},"user-content-fn-2","Internet Assigned Numbers Authority. ",[704,1322,1325],{"href":1323,"rel":1324},"https:\u002F\u002Fwww.iana.org\u002Fassignments\u002Fmedia-types\u002Fmedia-types.xhtml#text",[1304],[1306,1326,1327],{},"Media Types Registry",". The text registry does not include ",[685,1330,1331],{},"x-shellscript",[704,1333,1316],{"href":1334,"ariaLabel":1335,"className":1336,"dataFootnoteBackref":709},"#user-content-fnref-2","Back to reference 2",[1315],[960,1338,1340,1341,1309,1348],{"id":1339},"user-content-fn-3","Internet Engineering Task Force. ",[704,1342,1345],{"href":1343,"rel":1344},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc6838.html#section-3.4",[1304],[1306,1346,1347],{},"RFC 6838, Media Type Specifications and Registration Procedures",[704,1349,1316],{"href":1350,"ariaLabel":1351,"className":1352,"dataFootnoteBackref":709},"#user-content-fnref-3","Back to reference 3",[1315],[960,1354,1356,1357,1309,1364,1369,1370],{"id":1355},"user-content-fn-4","Amazon Web Services. ",[704,1358,1361],{"href":1359,"rel":1360},"https:\u002F\u002Fdocs.aws.amazon.com\u002Fpcs\u002Flatest\u002Fuserguide\u002Fworking-with_ec2-user-data.html",[1304],[1306,1362,1363],{},"Working with Amazon EC2 User Data for AWS PCS",[704,1365,1316],{"href":1366,"ariaLabel":1367,"className":1368,"dataFootnoteBackref":709},"#user-content-fnref-4","Back to reference 4",[1315]," ",[704,1371,1316,1375],{"href":1372,"ariaLabel":1373,"className":1374,"dataFootnoteBackref":709},"#user-content-fnref-4-2","Back to reference 4-2",[1315],[701,1376,756],{},[960,1378,1380,1381,1309,1390],{"id":1379},"user-content-fn-5","freedesktop.org shared-mime-info project, mirrored by Debian. ",[704,1382,1385],{"href":1383,"rel":1384},"https:\u002F\u002Fsources.debian.org\u002Fsrc\u002Fshared-mime-info\u002F2.0-1\u002Fdata\u002Ffreedesktop.org.xml.in\u002F#L11017",[1304],[1306,1386,1387,1389],{},[685,1388,792],{}," MIME Database Definition",[704,1391,1316],{"href":1392,"ariaLabel":1393,"className":1394,"dataFootnoteBackref":709},"#user-content-fnref-5","Back to reference 5",[1315],[960,1396,1398,1399,1309,1406,1369,1411],{"id":1397},"user-content-fn-6","GNU Project. ",[704,1400,1403],{"href":1401,"rel":1402},"https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fbash\u002Fmanual\u002Fhtml_node\u002FShell-Scripts.html",[1304],[1306,1404,1405],{},"Bash Reference Manual: Shell Scripts",[704,1407,1316],{"href":1408,"ariaLabel":1409,"className":1410,"dataFootnoteBackref":709},"#user-content-fnref-6","Back to reference 6",[1315],[704,1412,1316,1416],{"href":1413,"ariaLabel":1414,"className":1415,"dataFootnoteBackref":709},"#user-content-fnref-6-2","Back to reference 6-2",[1315],[701,1417,756],{},[960,1419,1421,1422,1309,1429],{"id":1420},"user-content-fn-7","MDN Web Docs. ",[704,1423,1426],{"href":1424,"rel":1425},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FGuides\u002FMIME_types",[1304],[1306,1427,1428],{},"Media Types (MIME Types)",[704,1430,1316],{"href":1431,"ariaLabel":1432,"className":1433,"dataFootnoteBackref":709},"#user-content-fnref-7","Back to reference 7",[1315],[960,1435,1398,1437,1309,1444],{"id":1436},"user-content-fn-8",[704,1438,1441],{"href":1439,"rel":1440},"https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fbash\u002Fmanual\u002Fhtml_node\u002FBash-POSIX-Mode.html",[1304],[1306,1442,1443],{},"Bash POSIX Mode",[704,1445,1316],{"href":1446,"ariaLabel":1447,"className":1448,"dataFootnoteBackref":709},"#user-content-fnref-8","Back to reference 8",[1315],[960,1450,1452,1453,1309,1460],{"id":1451},"user-content-fn-9","Canonical. ",[704,1454,1457],{"href":1455,"rel":1456},"https:\u002F\u002Fdocs.cloud-init.io\u002Fen\u002Flatest\u002Fexplanation\u002Fformat\u002Fuser-data-script.html",[1304],[1306,1458,1459],{},"cloud-init User-data Script",[704,1461,1316],{"href":1462,"ariaLabel":1463,"className":1464,"dataFootnoteBackref":709},"#user-content-fnref-9","Back to reference 9",[1315],[1466,1467,1468],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":709,"searchDepth":901,"depth":901,"links":1470},[1471,1473,1475,1476,1478,1479,1481,1482,1484],{"id":682,"depth":901,"text":1472},"What does text\u002Fx-shellscript mean?",{"id":738,"depth":901,"text":1474},"Is text\u002Fx-shellscript an official MIME type?",{"id":878,"depth":901,"text":879},{"id":994,"depth":901,"text":1477},"How to open and check a .sh file",{"id":1063,"depth":901,"text":1064},{"id":1092,"depth":901,"text":1480},"Portability between sh, Bash, and other shells",{"id":1207,"depth":901,"text":1208},{"id":1250,"depth":901,"text":1483},"text\u002Fx-shellscript in cloud-init",{"id":708,"depth":901,"text":1293},"Learn what `text\u002Fx-shellscript` means, how `.sh` files are identified, which shells can run them, and how Poly supports them.","md",null,{},{"name":687,"extensions":1490,"invented-date":1491,"inventor-name":1492,"in-use":12,"browser-support":1493,"example-applications":1499,"poly-support":1502,"poly-indexed":1503,"poly-preview":1504,"poly-agent":1505},[720],"Unknown (unregistered)","Unknown",[1494,1495,1496,1497,1498],"Chrome","Edge","Firefox","Opera","Safari",[1500,1501],"GNU Bash","Visual Studio Code","Yes. Poly recognizes `.sh` shell scripts and keeps their readable source available without running it.","Yes. Poly indexes the script's filename and readable text for exact and semantic search.","Yes. Shell scripts open in Poly's code-friendly text viewer with language-aware highlighting.","Yes. The Poly agent can read and reason about the script's text, but it does not execute the script.","\u002Fmime-types\u002Ftext\u002Fx-shellscript",{"title":1508,"description":1509},"text\u002Fx-shellscript MIME Type: Shell Scripts and .sh Files","A practical guide to text\u002Fx-shellscript, including .sh files, shebangs, MIME registration status, browser behavior, security, and Poly support.","mime-types\u002Ftext\u002Fx-shellscript","6e6JQN_8tEu4U6azCoHFyIKArYdmoC0QK3JwwpvS26M",[1487,1487],{"data":1514,"body":1515},{},{"type":1516,"children":1517},"root",[1518],{"type":1519,"tag":690,"props":1520,"children":1521},"element",{},[1522],{"type":1523,"value":675},"text",{"data":1525,"body":1526},{},{"type":1516,"children":1527},[1528],{"type":1519,"tag":690,"props":1529,"children":1530},{},[1531,1533,1538,1540,1545],{"type":1523,"value":1532},"Learn what ",{"type":1519,"tag":685,"props":1534,"children":1536},{"className":1535},[],[1537],{"type":1523,"value":687},{"type":1523,"value":1539}," means, how ",{"type":1519,"tag":685,"props":1541,"children":1543},{"className":1542},[],[1544],{"type":1523,"value":720},{"type":1523,"value":1546}," files are identified, which shells can run them, and how Poly supports them.",1788325917402]