"Filename argument required" 当 运行 shell 命令来自 bash_profile 时发出警告

"Filename argument required" warning when running shell command from bash_profile

我正在 Mac 的终端中自定义 .bash_profile。我想制作一个运行 ruby 文件或在文本编辑器中打开它的函数,具体取决于我的参数。

除了安装东西之外,我对使用终端做任何事情都很陌生。

这是我目前得到的:

scratchpad(){
if [  = run ]; then
    ruby ~/Programming/ruby/scratchpad.rb
    .
else
    open -a  ~/Programming/ruby/scratchpad.rb
    .
fi
}

有效,成功打开或 运行 脚本,但它给我这个错误:

-bash: .: filename argument required
.: usage: . filename [arguments]

删除 . 行:

scratchpad(){
  if [  = run ]; then
    ruby ~/Programming/ruby/scratchpad.rb
  else
    open -a  ~/Programming/ruby/scratchpad.rb
  fi
}

在shell中,.本身就是一个内置命令,是"source"的别名,用于读取shell脚本和在当前 shell 中执行它的命令,而不是产生一个子 shell,通常用于设置您以后要使用的环境变量的脚本

. set_env.sh

您收到的错误消息抱怨您没有提供 . 命令所需的文件名参数。