Linux sh脚本语言
文件内容修改
-
cat << EOF >>实现已有文件并追加内容
[root@VM_0_12_centos ~]# cat abcd.txt 1 2 3 [root@VM_0_12_centos ~]# cat <<EOF>> abcd.txt 4 5 6 EOF [root@VM_0_12_centos ~]# cat abcd.txt 1 2 3 4 5 6
-
cat << EOF >实现新建文件并新增内容
[root@VM_0_12_centos ~]# cat << EOF >abcd.txt 1 2 3 EOF [root@VM_0_12_centos ~]# cat abcd.txt 1 2 3
-
在SHELL脚本中使用cat <<EOF >进行环境变量设置:
-
在SHELL脚本中使用cat <<EOF >进行环境变量设置:
# 添加go 环境变量 [root@VM_0_12_centos ~]# cat <<EOF >/etc/profile.d/goroot.sh export GOROOT=/home/go export GOPATH=/home/gopath export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin EOF
-
普通情况下,我们设置环境变量一般都是在/etc/profile里边,但是此处设置却是在profile.d下。
为什么设置在profile.d下边新建的文件中,原理可以查看:https://blog.csdn.net/u011277123/article/details/72864826
如果实在需要设置在/etc/profile里边,此时就可以用cat << EOF >>实现已有文件中追加内容
执行修改配置文件中的内容(未测试)
在开发的过程中可能Linux环境不一致需要适应本地环境的HOME目录,可以通过脚本来修改配置文件内容,写一个test.sh的脚本
在脚本里写入以下命令
sed -i “s#ftfts_com_serverpa_path=.*#ftfts_com_serverpa_path= $HOME#g” test.properties
该命令的基本语法如下
sed -i “s/要替换的内容/替换后的内容/g” 文件名
使用#代替/能够适应替换内容中含有/的内容,不需要转译.不然还要使用//转译!.*是匹配所有内容!
定义变量且输出
#!/bin/bash
num=100
# $num 当成变量值处理
echo "num: $num"
# $num 当成字符串值处理
echo 'num: $num'
PS
# sh教程
https://www.jb51.net/article/185260.htm
# mysql 安装脚本参考
https://www.cnblogs.com/abyn/p/12844689.html
网友评论