shell和bash脚本命令学习
概念
Shell指的是任何提供命令行界面的程序,它提供了用户与操作系统之间的交互界面。它允许用户输入命令并执行它们,同时提供脚本编写功能,使得自动化任务成为可能。Shell有多种类型,比如Bourne Shell(sh)、C Shell(csh)、Korn Shell(ksh)等。
Bash是Shell的一种,全称为Bourne Again Shell,是Bourne Shell的一个自由软件版本。
学习资料
在Bash脚本中, $(dirname $0) 是一个表达式,用于获取当前脚本文件所在的目录路径。
$0
是一个特殊的变量,它代表当前脚本的文件名,包括其路径。dirname
是一个Unix命令,用于从完整的文件路径中去除文件名,只留下目录部分。
例如,如果你有一个脚本文件位于 /home/user/myscript.sh
,那么执行 $(dirname $0)
将得到 /home/user
。
这个表达式在脚本中经常用于确定脚本的安装位置,以便脚本可以找到其依赖的文件或执行其他需要知道脚本位置的操作。
bash脚本示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/usr/bin/env bash CONFIG=$1 GPUS=$2 NNODES=${NNODES:-1} NODE_RANK=${NODE_RANK:-0} PORT=${PORT:-29500} MASTER_ADDR=${MASTER_ADDR:- "127.0.0.1" } # export TORCH_DISTRIBUTED_DEBUG=INFO # export CUDA_VISIBLE_DEVICES=0 PYTHONPATH= "$(dirname $0)/.." :$PYTHONPATH \ python -m torch.distributed.launch \ --nnodes=$NNODES \ --node_rank=$NODE_RANK \ --master_addr=$MASTER_ADDR \ --nproc_per_node=$GPUS \ --master_port=$PORT \ $( dirname "$0" ) /train .py \ $CONFIG \ --launcher pytorch ${@:3} |
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2023-06-11 python @property @classmethod
2020-06-11 Lipschitz连续
2020-06-11 Linux服务器常用命令(二):CPU核数、逻辑CPU