Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Sed命令正在对原始脚本进行更改_Bash - Fatal编程技术网

Bash Sed命令正在对原始脚本进行更改

Bash Sed命令正在对原始脚本进行更改,bash,Bash,有人能建议我如何确保shell脚本中的特定命令不会影响调用它的脚本吗?例如,在我的例子中,我使用“sed”命令将某个特定单词的所有匹配项替换为其他单词。但我不想改变原来的剧本 在脚本中使用basename$0。 例如,对于当前目录: #!/bin/bash FILES="*" CURRENT=`basename $0` for f in $FILES do if [ -f $f ] && [ $f != $CURRENT ] then #some sed acti

有人能建议我如何确保shell脚本中的特定命令不会影响调用它的脚本吗?例如,在我的例子中,我使用“sed”命令将某个特定单词的所有匹配项替换为其他单词。但我不想改变原来的剧本

在脚本中使用
basename$0
。 例如,对于当前目录:

#!/bin/bash
FILES="*"
CURRENT=`basename $0`
for f in $FILES
do
  if [ -f $f ] && [ $f != $CURRENT ]
  then
    #some sed action with file
  fi
done

sed
使用
-i
选项进行就地更改,因此假设您正在执行此操作,您可以忽略该选项。请向我们展示您的脚本。您正在让sed对运行sed命令的脚本进行操作?可能是通过编写更好、更少懒惰的代码,明确指定您希望它对哪些文件进行操作,而不是过度使用通配符和其他可能偶尔匹配您不希望它们匹配的东西的泛化…您是否为一堆文件调用sed?确保您的脚本不是其中之一
chmod-w
grep-v您的脚本
都是糟糕的解决方法。非常感谢大家!