Mat*_*ski 16 shell standard conventions shell-script
我想知道是否有关于您想要源而不是运行的 shell 脚本的文件类型扩展名的约定。例如:
如果我想在子shell中运行这个脚本。
./script.sh
Run Code Online (Sandbox Code Playgroud)
如果我想记住从当前 shell 运行这个脚本。
. script.source
Run Code Online (Sandbox Code Playgroud)
是否有一个惯例在第2例的文件类型(如POSIX例如)?像.source或.sourceme?
这个问题不询问任何意见。我明确表示我想知道这种脚本是否有标准化的文件扩展名。这个问题甚至比这个关于类似问题的广受欢迎的问题更不基于意见(对 bash 脚本使用 .sh 或 .bash 扩展名?)。
Sté*_*las 18
我会使用.sh(对于 POSIXsh语言中的文件,.bash对于非 sh 兼容的bash文件,即扩展名标识脚本所用的语言)用于要获取的文件(或更通常不打算执行),并且没有要执行的文件的扩展名。
您还可以添加:
#! /bin/echo Please-source
Run Code Online (Sandbox Code Playgroud)
she-bang,所以当被错误执行时(虽然我希望这些文件不应该被授予执行权限,这已经阻止了执行),你会收到一个通知,它应该是来源。