Bash

Sed 用法:添加腳本第一行缺少的 shebang

  • October 4, 2016

我有一個*.sh腳本缺少第一行的 shebang。我可以用 修復它sed嗎?

用, 就地操作插入 ( i) shebang :sed

sed -i '1 i #!/bin/bash' file.sh

使用.bak副檔名備份原始文件:

sed -i.bak '1 i #!/bin/bash' file.sh

替換#!/bin/bash為您想要的實際shebang。

例子:

% cat foo.sh
echo foobar

% sed '1 i #!/bin/bash' foo.sh 
#!/bin/bash
echo foobar

使用bashcat(不是就地):

cat <(echo '#!/bin/sh') foo.sh

或使用 GNU awk >= 4.1 就地:

awk -i inplace 'BEGINFILE{print "#!/bin/sh"}{print}' foo.sh

引用自:https://unix.stackexchange.com/questions/313009