Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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 shell命令在comand行中是正确的,但它';shell文件中的错误?_Linux_Shell - Fatal编程技术网

为什么Linux shell命令在comand行中是正确的,但它';shell文件中的错误?

为什么Linux shell命令在comand行中是正确的,但它';shell文件中的错误?,linux,shell,Linux,Shell,“粘贴-d'|'#!/bin/bash通知shell使用bash,当您使用sh运行它时,它不会使用bash,因为sh是强制的 sh比bash更受限制,因此如果您的脚本使用bash逻辑,但通过sh运行,它不完全兼容,并且在sh不理解命令的地方出错。重复的请不要使用可以复制/粘贴的代码/数据的屏幕截图。高级读者依靠n使用浏览器的搜索功能查找关键字、错误等。使用鼠标选中文本的编辑菜单中的{}工具将格式设置为code/data/requiredOutput/ExactErrMsgs。祝你好运。我用“#”

“粘贴-d'|'
#!/bin/bash
通知shell使用
bash
,当您使用
sh
运行它时,它不会使用
bash
,因为
sh
是强制的


sh
bash
更受限制,因此如果您的脚本使用
bash
逻辑,但通过
sh
运行,它不完全兼容,并且在
sh
不理解命令的地方出错。

重复的请不要使用可以复制/粘贴的代码/数据的屏幕截图。高级读者依靠n使用浏览器的搜索功能查找关键字、错误等。使用鼠标选中文本的编辑菜单中的
{}
工具将格式设置为
code/data/requiredOutput/ExactErrMsgs
。祝你好运。我用“#”是没有用的/bin/sh”,结果是一样的。这正是我所解释的。您的脚本是为Bash编写的,您试图使用
sh
运行它,而
sh
不知道如何处理所有特定于
Bash的
命令。重点是,不要使用
sh
(或任何命令)如果希望遵守shebang,请运行脚本。使脚本可执行并将其用作命令名。如果坚持将脚本名作为参数传递,请使用
bash
,而不是
sh
。我使用bash,它不起作用:xu@xu-虚拟机:~$cat test.sh#!/bin/bash命令=“粘贴-d'|”