我有一个关于跨 2 个不同操作系统的 shell 脚本和进程表的一般性问题。
在 SuSE Linux 系统上,我运行一个名为 joe.sh 的脚本。这是一个执行以下操作的简单脚本
echo "Hello Joe "
read x
如果我执行 ps -ef | grep [j]oe.sh -
它会找到一个看起来像这样的结果
joe 15532 24267 0 09:40 pts/2 00:00:00 /bin/sh ./joe.sh
假设我启动了另一个终端并且没有在脚本上按回车键。
但是,如果我在 oracle linux 系统上做同样的事情,在我向脚本添加一个 shebang 之前我找不到匹配项
#!/bin/bash
echo "Hello Joe"
read x
SuSE 环境中是否有一些默认设置?我想在 Oracle Linux 系统上复制该行为。
最佳答案
脚本应该总是有一个 shebang 行,除非它们是 source
d。 default shell in SuSE是巴什。添加 #!/bin/bash
到顶部。
关于linux - 跨不同 Linux 发行版的 Shell 脚本行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797630/