*.sh
첫 번째 줄의 shebang이 누락된 스크립트 가 있습니다 . 로 고칠 수 있나요 sed
?
답변1
, 제자리 작업을 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
답변2
bash
and cat
(제자리가 아님) 사용 :
cat <(echo '#!/bin/sh') foo.sh
또는 GNU awk >= 4.1을 사용하여 내부에서:
awk -i inplace 'BEGINFILE{print "#!/bin/sh"}{print}' foo.sh