Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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
Linux 脚本与./file\u name一起工作,但使用sh file\u name启动脚本时出错_Linux_Bash_Scripting - Fatal编程技术网

Linux 脚本与./file\u name一起工作,但使用sh file\u name启动脚本时出错

Linux 脚本与./file\u name一起工作,但使用sh file\u name启动脚本时出错,linux,bash,scripting,Linux,Bash,Scripting,脚本使用/file\u name,但使用sh file\u name #!/bin/bash echo "Scenarijus, kuris is teksto failo paima pirmoje eiluteje esancius zodzius ir sukuria naujus katalogus tokiais paciais pavadinimais, jusu pasirinktame kataloge" echo " " echo &q

脚本使用
/file\u name
,但使用
sh file\u name

#!/bin/bash
echo "Scenarijus, kuris is teksto failo paima pirmoje eiluteje esancius zodzius ir sukuria naujus katalogus tokiais paciais pavadinimais, jusu pasirinktame kataloge"
echo "  "
echo "Iveskite teksto faila is kurio norite paimti pirma eilute"
read failas
echo "Nurodykite kataloga kuriame noresite sukurti naujus katalogus"
read direktorija
mkdir -p $direktorija
read -a pavadinimai < "$failas"
for pavadinimas in "${pavadinimai[@]}"; do
    mkdir "$direktorija/$pavadinimas"
done
#/bin/bash
echo“场景,是指皮尔莫耶·埃卢特耶·埃桑切斯·佐季乌斯(Eiluetje esancius zodzius)和苏库尔·阿罗古斯(naujus katalogus)在太平洋的帕瓦迪尼马(pavadinimais),是一个非常有趣的故事。”
回声“”
回声“Iveskite teksto faila是kurio norite paimti pirma eilute”
读失败
回声“努罗德克特卡塔洛加-库里亚姆-诺里斯特苏库尔蒂-瑙朱斯-卡塔洛古斯”
读direktorija
mkdir-p$direktorija
阅读-a pavadinimai<“$failas”
对于“${pavadinimai[@]}”中的pavadinimas;做
mkdir“$direktorija/$pavadinimas”
完成
当我使用sh启动脚本时,出现错误:
文件\u name:9:非法选项-文件名:10:文件名:错误替换

当您直接执行脚本时,将为解释器解析hashbang行。当您使用
#时/bin/bash
bash shell将用于执行脚本,因此执行的命令是
/bin/bash./file\u name

Bash为sh提供了一个命令超集,因此您可以在Bash中运行sh脚本,但反之亦然。例如,在您的例子中,sh的
read
命令不知道bash知道的
-a
参数

bash file\u name
调用脚本,一切都会好起来