惊落一身雪 发表于 2025-1-6 11:13:30

Linux体系自动化sh脚本

前言

Linux体系中,可以编写自动化sh脚本,并在终端中自动加载。可用来简化复杂下令或创建专属下令,提升工作服从。
功能


[*]init_workspace:可以识别Host和Docker,初始化工作目次
[*]source_my_func:完成自加载,用于更新此自动化sh脚本
[*].bashrc (system and docker):终端自动加载,实用于Host和Docker
[*]custom_function:编写自定义函数,简化复杂下令,创建专属下令
优点


[*]自动化提升服从
[*]同一脚本可同时用于System内和Docker内
[*]化简复杂下令,形成本身的专属下令
[*]保存下令汗青记录
[*]改善打字慢题目
[*]自动补全改善错别字题目
步调


[*]创建sh脚本
创建sh脚本,并完成功能,例如:script.sh
[*]添加bash解释器
在sh脚本的首行添加bash解释器,一般为:#!/bin/bash
[*]添加可实行权限
为sh脚本添加可实行权限:chmod +x
[*]暂时加载sh脚本
利用 source 下令在终端中暂时加载sh脚本:source script.sh
永久见效
在 .bashrc 文件中自动加载sh脚本:vim ~/.bashrc
示例

文件名称:my_func.sh
#!/bin/bash

# 全局变量
workspace="/workspace"
work_user="root"
# relative_path="shell/script/my_func.sh"
relative_path="CodeLib/Shell/script/my_func.sh"

# main函数
function my_func_main() {
    # 调用函数,初始化workspace
    init_workspace
    echo "my_func init success, workspace: $workspace"
}

# 初始化workspace函数
function init_workspace() {
    if [ -d "/workspace" ]; then
      workspace="/workspace"
      work_user="root"
    else
      workspace="/home/nsjim/work"
      work_user="nsjim"
    fi
    # echo "workspace init success: $workspace"
}

# 添加可执行权限
function add_x() {
    # chmod +x $1.sh
    chmod -R +x $1
}

# 添加读写权限
function add_rw() {
    chmod -R a+rw $1
}

# 开启docker
function docker_start() {
    docker start mlir_ns
    docker exec -it mlir_ns /bin/bash
}

# 进入docker
function docker_exec() {
    docker exec -it mlir_ns /bin/bash
}

# 初始化docker服务(docker内)
function docker_init() {
    # ssh service
    eval ssh-agent
    service ssh start
}

# 重新加载此脚本
function source_my_func() {
    init_workspace
    # source /workspace/CodeLib/Shell/script/my_func.sh
    source ${workspace}/${relative_path}
}

# 显示此脚本路径
function show_my_func_path() {
    init_workspace
    echo "script path: ${workspace}/${relative_path}"
}

# 加载PATH环境变量
function export_path() {
    init_workspace
    # 环境变量使用冒号隔开,使用如下命令可添加环境变量
    # export PATH=/path/to/dir:$PATH
    export PATH=$workspace/CodeLib/Python/Tool:$PATH
}

# 加载PYTHONPATH环境变量
function export_pythonpath() {
    init_workspace
    # 环境变量使用冒号隔开,使用如下命令可添加环境变量
    # export PYTHONPATH=/path/to/dir:$PYTHONPATH
    export PYTHONPATH=$workspace/model-apt/ml-cvnets:$PYTHONPATH
}


#### 调用main函数
my_func_main

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux体系自动化sh脚本