我有一个文件,其中包含一些俄罗斯字符。以下是我的sh文件的内容。
#!/bin/sh
sed -i "s/\bVAR1\b/Привет, как ты/g" file1.txt
保存此文件时,我必须将其保存为UTF-8或Unicode格式,因为文件中包含一些Unicode格式字符,如果另存为ANSI,我将丢失这些字符。保存文件后,使用file命令时,将显示以下内容
bash-4.1$ file test.sh
test.sh: UTF-8 Unicode (with BOM) English text, with very long lines, with CRLF line terminators
问题:如何使它成为可执行的shell脚本文件?如果我的文件只有英文字符,则会显示以下内容
bash-4.1$ file test2.sh
test2.sh: POSIX shell script text executable
答案 0 :(得分:0)
您似乎在shebang开头缺少井号(#
)。创建具有此内容的文件(test.sh):
#!/bin/sh
sed -i "s/\bVAR1\b/Привет, как ты/g" file1.txt
然后使其与chmod +x test.sh
可执行,将产生预期的可执行脚本。
$ file test.sh
test.sh: POSIX shell script text executable, UTF-8 Unicode text