내 *.sh
스크립트에 Shebang의 첫 번째 줄이 없습니다. 로 고칠 수 있나요 sed
?
답변1
i
셔뱅을 삽입( )하려면 in place 작업을 사용하세요 .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
및 cat
(비-제자리):
cat <(echo '#!/bin/sh') foo.sh
또는 GNU awk >= 4.1을 사용하세요.
awk -i inplace 'BEGINFILE{print "#!/bin/sh"}{print}' foo.sh