相关疑难解决方法(0)

使用 #!/bin/sh 或 #!/bin/bash 以获得 Ubuntu-OSX 兼容性和易用性和 POSIX

我知道我可以使用任一脚本作为调用所需 shell 的第一行。

#!/bin/sh如果与所有 unix 系统的兼容性是绝对要求,会推荐吗?

就我而言,我唯一关心的操作系统是 Ubuntu (Debian) 和 OSX。鉴于此,我可以使用#!/bin/bash并确保它可以在两个系统上运行吗?
这是否也可以更轻松地使用具有更现代和更清晰的命令语法的脚本?使用是否#!/bin/sh也与使用 POSIX 有关?

osx shell bash ubuntu posix

18
推荐指数
3
解决办法
2万
查看次数

用于 shell 脚本源文件扩展名的官方标准/约定

我想知道是否有关于您想要源而不是运行的 shell 脚本的文件类型扩展名的约定。例如:

  1. 如果我想在子shell中运行这个脚本。

     ./script.sh 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果我想记住从当前 shell 运行这个脚本。

     . script.source 
    
    Run Code Online (Sandbox Code Playgroud)

是否有一个惯例在第2例的文件类型(如POSIX例如)?像.source.sourceme


更新

这个问题不询问任何意见。我明确表示我想知道这种脚本是否有标准化的文件扩展名。这个问题甚至比这个关于类似问题的广受欢迎的问题更不基于意见(对 bash 脚本使用 .sh 或 .bash 扩展名?)。

shell standard conventions shell-script

16
推荐指数
1
解决办法
3319
查看次数

如何打开和关闭通配符?

在我~./bashrc的别名中,我已经不再像这样使用通配符了。

alias x='set -f;. any.sh'
Run Code Online (Sandbox Code Playgroud)

但是哪个命令可以再次启用通配符,还是应该在 中设置此选项any.sh

欢迎任何回应。

bash alias shell-script wildcards bashrc

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

bash ×2

shell ×2

shell-script ×2

alias ×1

bashrc ×1

conventions ×1

osx ×1

posix ×1

standard ×1

ubuntu ×1

wildcards ×1