You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中运行Shell脚本?已尝试!与%%shell指令

在Google Colab中运行Shell脚本的正确姿势

嘿,我知道你已经试过!和%%shell这两种方式了——其实这俩都是Colab里执行Shell命令/脚本的标准方法,可能是用法细节没拿捏准?我给你把这两种方式的正确打开方式拆解清楚:

1. 单条命令或短命令链:用!前缀

如果只是跑单条Shell命令,或者简短的命令链,直接在命令前加!就搞定,这是最常用的快速执行方式:

  • 查看当前工作目录:!pwd
  • 安装系统依赖包:!sudo apt-get install -y htop
  • 给本地脚本添加可执行权限:!chmod +x my-script.sh
  • 直接运行脚本文件:!./my-script.sh

要是你需要把Shell命令的输出捕获到Python变量里,还能这么玩:

# 把ls的结果存到Python列表里
dir_contents = !ls -l /content
print("当前目录内容:", dir_contents)

2. 多行Shell脚本块:用%%shell魔法命令

如果你的脚本是多行的,用%%shell更方便——它会把整个单元格的内容当作Shell脚本执行,不用每行都加!。注意%%shell必须放在单元格的第一行,比如:

%%shell
# 这是一个完整的多行Shell脚本示例
echo "=== 开始执行脚本 ==="
# 创建测试目录
mkdir -p colab_test
cd colab_test
# 写入内容到文件
echo "Hello from Colab's Shell environment" > test_file.txt
# 读取文件内容
cat test_file.txt
echo "=== 脚本执行结束 ==="

几个容易踩坑的点

  • 权限问题:如果运行脚本时出现Permission denied错误,先执行!chmod +x your-script.sh给脚本添加可执行权限
  • 路径问题:Colab的默认工作目录是/content/,上传的文件都会存在这里,用!pwd可以随时确认当前路径,避免找不到文件
  • sudo权限:如果脚本需要系统级操作(比如安装软件),直接在命令前加sudo即可,比如!sudo apt update

这两种方式基本能覆盖Colab里所有运行Shell脚本的场景,你可以根据脚本的长度和复杂度选对应的方法~

内容的提问来源于stack exchange,提问作者Jonasyou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:50:09