bash脚本中‘-b -u -p’‘$# -eq’‘#!/bin/bash’‘sed -i “s/\r//“ $1’的用法说明

#!/bin/bash

#!/bin/bash: 这是 Bash 脚本的开头,指定了要使用的解释器,即 Bash。

if [ $# -eq 0 ]; then

if [ $# -eq 0 ]; then: 检查脚本是否被调用时提供了参数。$# 表示参数的数量,-eq 0 表示等于 0,即无参数。

echo "please xxx"

echo "please xxx": 输出提示信息,用法类似于print()/printf()

sed -i "s/\r//" $1

sed -i "s/\r//" $1: 使用 sed 命令将参数(文件名)中的 Windows 格式的换行符(^M)替换为空字符,从而去除它们。

  • $1 表示第一个参数,即文件名;
  • sed: 是一个流编辑器,用来处理文本流;
  • -i: 这个选项表示直接修改文件内容,而不是在标准输出上显示结果;
  • "s/\r//": 这是替换的操作模式
    s 表示替换;
    /\r// 表示将 \r(Carriage Return,回车符)替换为空字符,即删除回车符。
  • ^M : 表示回车符(Carriage Return),它在文本文件中通常以 \r 表示。
    Unix/Linux 系统中,换行通常由换行符LF\n)表示,而在 Windows 系统中,则是由回车符换行符CRLF\r\n)组成。
    但在 Unix/Linux 系统中查看由 Windows 系统创建的文本文件时,你可能会看到 ^M 字符,它是回车符的显示方式。
bash ~/test/miniconda.sh -b -u -p ~/miniconda3
  • ~/test/miniconda.sh:指定了 Miniconda 安装脚本的路径。
  • -b:这个选项代表“批处理模式(batch mode)”,意味着安装程序将在不需要用户交互的情况下运行。
  • -u:这个选项代表“更新(update)”,如果发现已有安装,则更新它。
  • -p ~/miniconda3:指定了 Miniconda 的安装目录。
~/miniconda3/bin/conda init bash
  • 这行命令用于初始化bash shell以使miniconda可用。执行此命令后,miniconda相关的路径将会添加到bash的配置文件中,以便在每次打开终端时自动启用miniconda
~/miniconda3/bin/conda init zsh
  • 这行命令用于初始化zsh shell以使miniconda可用。执行此命令后,miniconda相关的路径将会添加到zsh的配置文件中,以便在每次打开终端时自动启用miniconda
  • zshz shell)是一种命令行解释器(shell),类似于 bash shell,但具有更丰富的功能和配置选项。zshUnix 系统中的一种交互式 shell,它是 bourne shellsh)的扩展和改进版本。
  • zsh 提供了许多强大的特性,包括:
    • 丰富的自动补全功能zsh 提供了强大的自动补全功能,可以根据命令、文件路径、变量等自动补全输入,极大地提高了命令行的使用效率。
    • 可定制性强zsh 允许用户通过配置文件(例如 ~/.zshrc)来定制 shell 的外观、行为和功能。用户可以轻松地配置提示符、别名、函数、键绑定等。
    • 模块化zsh 支持模块化加载功能,可以通过插件来扩展其功能,例如安装 oh my zsh 等框架可以快速扩展 zsh 的功能。
    • 强大的历史记录功能zsh 提供了更强大和灵活的历史记录功能,例如通过模糊搜索快速检索历史命令。
    • 拓展性:zsh 支持扩展功能,可以编写自定义插件、主题和功能模块,以适应个人需求和习惯。
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).if [ "${PS1-}" ]; thenif [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then# The file bash.bashrc already sets the default PS1.# PS1='\h:\w\$ 'if [ -f /etc/bash.bashrc ]; then. /etc/bash.bashrcfielseif [ "`id -u`" -eq 0 ]; thenPS1='# 'elsePS1='$ 'fifi
fiif [ -d /etc/profile.d ]; thenfor i in /etc/profile.d/*.sh; doif [ -r $i ]; then. $ifidoneunset i
fi
  • 这是系统范围的 bourne shellsh)、bash shellbash)、korn shellksh)、almquist shellash)等的配置文件 /etc/profile。它定义了系统级别的默认环境变量和配置选项

  • 此文件的主要功能包括:

    • 设置命令提示符(PS1),根据当前用户和 shell 类型来确定。
    • 如果系统中存在 /etc/bash.bashrc 文件,则加载该文件。
    • 加载 /etc/profile.d 目录下的所有以 .sh 结尾的脚本文件,以进一步定制系统环境。
  • 所以,/etc/profile 文件用于为系统中的所有 shell 提供全局的默认配置和环境设置。

  • PS1shell 提示符(Prompt String 1)的环境变量,在 bourne shell 和其衍生的 shell 中(如 bashzsh 等)中都有这个环境变量。它定义了在命令行中显示的提示符的格式和内容。

    • 通过设置 PS1,用户可以自定义命令行提示符的外观,以显示有用的信息,如当前用户名、主机名、当前工作目录等。可以包含各种转义字符和特殊字符,以显示所需的信息。
    • 例如,常见的提示符设置可能包括:
      \u:当前用户名。
      \h:主机名。
      \w:当前工作目录。
      \n:换行符。
      \d:日期。
      一个简单的 PS1 设置可以是:
      PS1='\u@\h:\w\$ '
      
      这将在命令行上显示当前用户名、主机名和当前工作目录,后面跟着 $ 符号作为命令提示符
echo y|~/miniconda3/bin/conda create -n xxx python=3.9
  • 这个命令用于创建一个名为 “xxx” 的 conda 环境,并指定 Python 版本为 3.9。它的意思是在执行命令时自动选择 “yes” 选项,无需用户手动确认。

    • echo y|:这部分命令用于向命令行输出 “y”,相当于在执行命令时自动输入 “yes”。
    • ~/miniconda3/bin/conda:这是 Conda 包管理工具的路径。
    • create -n xxx:表示创建一个名为 “xxx” 的新环境。
    • python=3.9:指定要在环境中安装的 Python 版本为 3.9。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-3-29 群讨论:如何看到一个线程的所有 JFR 事件

以下来自本人拉的一个关于 Java 技术的讨论群。关注公众号:hashcon,私信拉你 如何查看一个线程所有相关的 JFR 事件 一般接口响应慢,通过日志可以知道是哪个线程,但是如何查看这个线程的所有相关的 JFR 事件呢?JMC 有…

五种主流数据库:子查询

SQL 支持查询语句的嵌套,也就是在一个语句中包含其他的查询语句。嵌套子查询可以用于实现灵活复杂的查询语句。 本文比较五种主流数据库实现的子查询功能,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 功能MySQLOracleSQL ServerPostgre…

探索网络爬虫:技术演进与学习之路

网络爬虫及IP代理池 前言爬虫技术的演进最新的爬虫技术爬虫技术学习路线 前言 在信息时代,网络爬虫技术作为获取和处理网络数据的重要手段,已经成为数据科学、机器学习和许多商业应用的基石。从简单的HTML页面抓取到复杂的动态内容采集,爬虫…

【Java】如果把线程同步机制比喻成餐厅经理

要更好理解Java的线程同步机制,可以尝试通过餐厅经营的方式来进行类比。厨师(共享资源)在厨房里忙碌着,而顾客(线程)都在点菜和等待他们的食物。在这个场景中,同步机制就像是餐厅的经理&#xf…

三大能力升级!大模型开启智能客服新篇章

当前智能化已成为各行各业加速转型发展的关键词,客户服务领域也不例外,将大语言模型与文档问答结合,不仅能够有效提升知识构建效率,重塑智能客服模式,还将成为企业营销、运营智能化进程中的重要助推力! 接…

Redis从入门到精通(十四)Redis分布式缓存(二)Redis哨兵集群的搭建和原理分析

文章目录 前言5.3 Redis哨兵5.3.1 哨兵原理5.3.1.1 集群的结构和作用5.3.1.2 集群监控原理5.3.1.3 集群故障恢复原理 5.3.2 搭建哨兵集群5.3.3 RedisTemplate5.3.3.1 搭建测试项目5.3.3.2 场景测试 前言 Redis分布式缓存系列文章: Redis从入门到精通(十三)Redis分…

一个开源嵌入式USB设备协议栈:FelisUSB

概述 Felis USB 是一个嵌入式USB协议栈。它不依赖于软件系统支持,可以轻量级迁移使用。 Felis USB is an USB stack for embedded system. See introduction in English here. 源码链接:season-studio/FelisUSB:null_C - GitCode开源社区 为什么开发Feli…

AI时代的新星:Devin AI 工程师的崛起

近日,人工智能领域掀起了一股新浪潮,一家成立不到两个月的初创公司Cognition推出了一款名为Devin的全球首位AI工程师。这款AI工程师引起了业界的高度关注,其独特的特点和能力使其成为软件开发领域的一颗耀眼之星。 Devin并非仅仅是一款编写代…

欧盟网络安全局:公共数据空间中的个人数据保护设计(下)

三、应用场景分析:健康—医药用途 2020年欧盟发布欧盟医药战略,旨在应对制药行业面临的各种机遇和挑战,以确保欧盟公民对于药品的可获得性、可负担性和可持续性。[4]报告将药品数据空间作为一种可能的手段,旨在支持数据使用者对于药品市场供应情况和药品功效的研究和分析。…

Java复习第十七天学习笔记(转发、重定向,GET,POST),附有道云笔记链接

【有道云笔记】十七 4.3 转发、重定向、Get、POST、乱码 https://note.youdao.com/s/GD5TRksQ 一、转发 转发:一般查询了数据之后,转发到一个jsp页面进行展示 req.setAttribute("list", list); req.getRequestDispatcher("student_lis…

大厂面试:获取字符串的全排列

一、概念 现有一个字符串,要打印出该字符串中字符的全排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。 可以基于回溯法来解决这个问题。 二、代码 public class Permutation {//输出字符串str的全…

算法 第38天 动态规划1

509 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 n…

权限修饰符,代码块,抽象类,接口.Java

1&#xff0c;权限修饰符 权限修饰符&#xff1a;用来控制一个成员能够被访问的范围可以修饰成员变量&#xff0c;方法&#xff0c;构造方法&#xff0c;内部类 &#x1f47b;&#x1f457;&#x1f451;权限修饰符的分类 &#x1f9e3;四种作用范围由小到大(private<空着…

SV-704XT 100W网络有源音柱 校园广播音柱

SV-704XT 100W网络有源音柱 一、描述 SV-704XT是深圳锐科达电子有限公司的一款壁挂式网络有源音柱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;其采用防水设计&#xff0c;功率100W。SV-704XT作为网络广播播放系统的终…

【算法】斐波那契数列第n位 - 去重递归/双指针迭代

题目 给定n&#xff0c;求斐波那契数列第n位的数值。 斐波那契数列&#xff1a;0 1 1 2 3 5 8 13 …… 每个数等于前面两个数相加&#xff0c;第n位等于第(n - 1)位加上第(n - 2)位。 原理 去重递归 使用递归的方式计算出结果&#xff0c;但使用一个数组保存已经计算出来的值…

java 将 json 数据转为 java 中的对象

一、准备 json 数据 {"name": "mike","age": 17,"gender": 1,"subject": ["math","english"] }二、对应的java对象 package com.demo.controller;import lombok.Data; import java.util.List;Data pu…

什么是感知器 怎么学习感知器

什么是感知器&#xff1f; 感知器是一种简单的人工神经网络算法&#xff0c;也是最早的神经网络单元之一&#xff0c;由Frank Rosenblatt于1957年提出。它被设计用来进行二元分类&#xff0c;即判断输入数据属于哪一类&#xff08;例如&#xff0c;是或否&#xff09;。感知器…

蓝桥杯练习题 —— 01字串(python)

for i in range(32):number ((7 - len(str(bin(i)))) * "0") str(bin(i))[2:]print(number) 所用方法 以下代码用于实现十进制转二进制、八进制、十六进制&#xff1a; for i in range(100, 1000):a i // 100 # 百位b i % 100 // 10 # 十位c i % 10 …

回溯算法先导

撤销当前的操作 使用原因及解决的问题 基本上暴力搜索的问题 适用于 组合问题 [1,2,3,4] 两位数的组合有哪些切割问题 给定字符串,求切割方式使其字串都是回文子串子集问题 求 [1,2,3,4] 的子集排列组合 组合(不强调顺序)棋盘问题 如何理解回溯法 抽象为一个树形结构 回溯…

华为OD-C卷-最长子字符串的长度(一)[100分]

题目描述 给你一个字符串 s,首尾相连成一个环形,请你在环中找出 o 字符出现了偶数次最长子字符串的长度。 输入描述 输入是一个小写字母组成的字符串 输出描述 输出是一个整数 备注 1 ≤ s.length ≤ 500000s 只包含小写英文字母用例1 输入 alolobo输出 6说明 最长子字…