shell 脚本读取键盘输入,并替换文件中的某个字符串

/etc/profile中有这么一个变量export ES_HOME=/usr/local/elsearch/elasticsearch-6.6.0

现在想把/usr/local/elsearch/elasticsearch-6.6.0/config中的jvm.options文件里面的

-Xms6g
-Xmx6g

改成键盘输入的值,比如改成:

-Xms2g
-Xmx2g

可以这么做:新建一个test.sh文件,然后把下面这段文本粘贴进去:

echo $ES_HOME
echo -e "是否修改jvm.options 请输入y/n"
read jvmisflag
if [[ $jvmisflag == "y" ]]; then
 echo -e "请输入jvm大小,注意g是小写 例如 16g"
 read jvmSize
 sed -i 's/-Xms\(.*\)g/-Xms'"${jvmSize}"'/g' $ES_HOME/config/jvm.options
 sed -i 's/-Xmx\(.*\)g/-Xmx'"${jvmSize}"'/g' $ES_HOME/config/jvm.options
fi

然后执行后,就可以动态修改-Xms6g 和 -Xmx6g的值了。

其中 $ES_HOME表示 在/etc/profile中的ES_HOME变量。

 

你可能感兴趣的:(linux相关)