我有一个不能正常工作的 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”上有空格,它将无法工作。如果可以,我可以提出更好的解决方案,但我需要知道当前目录。
关于linux - Bash 脚本搜索和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746032/