- shell 是用于和 linux 内核(kernel)交互的脚本语言
- bash 是 Linux 世界中最为流行的 shell 脚本语言
在Shell脚本中,反引号用于命令替换。
当你在命令中使用反引号包围一个命令时,这个命令会在执行后被替换为其标准输出。这样可以将命令的输出赋值给变量,或者将其作为另一个命令的参数使用。
current_date=`date`
echo "Today is $current_date"
已经定义过的变量再次使用时,用$变量
或${变量}
表示。使用变量: $A
,定义变量: A=xx
# 给文件夹内的文件改名字,在文件名前加上train
for file in *.fna
do
file_name=`echo $file | awk '{print "train_" $0 }'`
mv $file $file_name # 重命名文件
done
#!/bin/sh
和 #!/bin/bash
都是声明代码使用的解释器;前者通用,指向默认的shell解释器;后者指向bash解释器。
在Shell脚本中,使用 echo
命令而不是 print
shell脚本可以保存为 xx.sh
文件
# 赋予可执行权限
chmod +x xx.sh
# 运行这个文件
./xx.sh 或 sh xx.sh
vim 编辑器
v:浏览模式
i:可编辑插入模式
esc:退出模式
esc退出模式➡ZZ:保存后退出
vim test.sh # 创建或打开文件
变量
- 定义变量的规则:
- 等号两侧不能有空格;
- 变量名称一般习惯为大写,这是一个规范, 我们遵守即可。
#!/bin/bash
A=100
echo $A
- 设置环境变量:
export 变量名=变量值 (将shell变量输出为环境变量/全局变量)
source 配置文件 (让修改后的配置信息立即生效) eg: source /etc/profile
echo $变量名 (查询环境变量的值)
多行注释
:<<EOF
注释内容...
注释内容...
注释内容...
EOF
EOF 也可以使用其他符号
for循环中,文件夹用 * 表示,for file in *