我有一群24 nodes
。我想删除所有节点上的bashrc
文件的最后一行
这就是我的尝试:
for (( i=1; i<25; i++ ))
do
ssh node$i "sed -i '$d' ~/.bashrc"
done
我也试过以下变种
for (( i=1; i<25; i++ ))
do
ssh node$i
sed -i '$d' ~/.bashrc
exit
done
和
for (( i=1; i<25; i++ ))
do
ssh node$i 'sed -i '$d' ~/.bashrc'
done
但是shell没有正确解释$d
命令的sed
。
相反,本地bashrc
文件正在更新。
这样做的正确方法是什么?
答案 0 :(得分:1)
试试这个:
for (( i=1; i<25; i++ ))
do
ssh node$i "sed -i '\$d' ~/.bashrc"
done
您需要转义$
。也希望你的node$i
是正确的!