从bash_profile运行 shell 命令时"Filename argument required"警告



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

我对终端做更多的事情非常陌生,而不仅仅是安装东西。

这是我到目前为止得到的:

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

它可以工作,成功打开或运行脚本,但它给了我这个错误:

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

删除.行:

scratchpad(){
  if [ $1 = run ]; then
    ruby ~/Programming/ruby/scratchpad.rb
  else
    open -a $1 ~/Programming/ruby/scratchpad.rb
  fi
}
在 shell 中,

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

. set_env.sh

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

相关内容

最新更新