我有一个bash脚本不能正常工作,我是这类代码的新手。任何建议或帮助都会很好。
我试图通过putty平台用新用户更改旧用户的电子邮件地址。但是并不是所有的目录都有特定的文件,我认为if语句可能有问题。以下是我尝试使用的脚本:
#!/bin/bash
#set -x
for dirs in *
do
echo $dirs
cd $dirs/
if [ -d "Seadont"]
then
sed -i 's/USER1/USER2/g'
ls
fi
done
我的结果不正确。
最佳答案
试试这个:
#!/bin/bash
#set -x
for dirs in * ;do
echo $dirs
if [ -d "Seadont"] ;then
sed -i.bak 's/USER1/USER2/g' $dirs
fi
done
请注意,如果“$dirs”上有空格,它将不起作用。如果有,我可以提出更好的解决方案,但我需要知道当前目录。