我正在尝试让脚本工作以将交换空间添加到 VPS,作为这种方法的解决方法。 我以为我让它工作了,但现在,每次我得到错误:fakeswap.sh: 5: Bad substitution
每当我尝试这样执行它时:sudo sh fakeswap.sh
。
下面是我的代码:
#!/bin/bash
SWAP="${1:-512}"
NEW="$[SWAP*1024]"; TEMP="${NEW//?/ }"; OLD="${TEMP:1}0"
umount /proc/meminfo 2> /dev/null
sed "/^Swap\(Total\|Free\):/s,$OLD,$NEW," /proc/meminfo > /etc/fake_meminfo
mount --bind /etc/fake_meminfo /proc/meminfo
free -m
显然,似乎失败的替换即将上线:NEW="$[SWAP*1024]"; TEMP="${NEW//?/ }"; OLD="${TEMP:1}0"
我有点惭愧地说,我真的不明白在那条线上应该发生什么(除了我们似乎在以某种方式声明的变量都是 SWAP 的衍生物)。TEMP
我收集到下面的行将新常量替换为虚拟配置文件(因为缺少更好的术语) ,但我不知道变量OLD
是如何定义的。
无论如何,我想知道是否有人能够看到为什么这种替换不起作用......甚至可以帮助我理解在定义TEMP
时可能会发生什么?OLD
提前谢谢了!