#!/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
。 zsh
(z shell
)是一种命令行解释器(shell
),类似于bash shell
,但具有更丰富的功能和配置选项。zsh
是Unix
系统中的一种交互式shell
,它是bourne shell
(sh
)的扩展和改进版本。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 shell
(sh
)、bash shell
(bash
)、korn shell
(ksh
)、almquist shell
(ash
)等的配置文件/etc/profile
。它定义了系统级别的默认环境变量和配置选项。 -
此文件的主要功能包括:
- 设置命令提示符(
PS1
),根据当前用户和shell
类型来确定。 - 如果系统中存在
/etc/bash.bashrc
文件,则加载该文件。 - 加载
/etc/profile.d
目录下的所有以.sh
结尾的脚本文件,以进一步定制系统环境。
- 设置命令提示符(
-
所以,
/etc/profile
文件用于为系统中的所有shell
提供全局的默认配置和环境设置。 -
PS1
是shell
提示符(Prompt String 1
)的环境变量,在bourne shell
和其衍生的shell
中(如bash
、zsh
等)中都有这个环境变量。它定义了在命令行中显示的提示符的格式和内容。- 通过设置
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。