移至目录并从该目录 运行 Smashing/Dashing
Move to Directory and Run Smashing/Dashing from that Directory
我试图在 Raspberry Pi 启动时自动启动我的 Smashing Dashboard。我计划通过 crontab 中的 @reboot 选项 运行 脚本(类似于我已经自动关闭仪表板的方式)。但是,我在 运行 宁下面的脚本时遇到了问题。
command = 'cd "/home/pi/test"'
command2 = 'smashing start'
system "echo hi"
system command
puts command
system "echo Movement"
system command2
puts command2
The script itself is just being run from the terminal just now using
ruby /home/pi/start_up.rb.
开始 Smashing 似乎失败了,因为工作目录没有通过 cd "home/pi/test"
命令移动,因为当脚本是 运行 我收到以下错误
Could not locate Gemfile or .bundle/ directory
Test目录下肯定有Gemfile。如果我直接从 home/pi 文件夹 运行 smashing start
提示该文件夹永远不会移动,这与我得到的错误相同。有没有正确的方法来做到这一点?
任何建议将不胜感激。
您的 cd "/home/pi/test"
无效,因为 cd
是 shell 内置的。它更改了 shell 中的目录,但未更改 Ruby.
中的目录
要更改 Ruby 中的目录,请使用
Dir.chdir '/home/pi/test'
每个进程都有自己的当前目录。 Ruby 的 Kernel#system
为 运行 命令生成了一个 shell 进程(可能 /bin/sh
),然后等待 shell 退出。 shell 更改目录,然后退出。 Ruby 从未更改过目录。
我试图在 Raspberry Pi 启动时自动启动我的 Smashing Dashboard。我计划通过 crontab 中的 @reboot 选项 运行 脚本(类似于我已经自动关闭仪表板的方式)。但是,我在 运行 宁下面的脚本时遇到了问题。
command = 'cd "/home/pi/test"'
command2 = 'smashing start'
system "echo hi"
system command
puts command
system "echo Movement"
system command2
puts command2
The script itself is just being run from the terminal just now using
ruby /home/pi/start_up.rb.
开始 Smashing 似乎失败了,因为工作目录没有通过 cd "home/pi/test"
命令移动,因为当脚本是 运行 我收到以下错误
Could not locate Gemfile or .bundle/ directory
Test目录下肯定有Gemfile。如果我直接从 home/pi 文件夹 运行 smashing start
提示该文件夹永远不会移动,这与我得到的错误相同。有没有正确的方法来做到这一点?
任何建议将不胜感激。
您的 cd "/home/pi/test"
无效,因为 cd
是 shell 内置的。它更改了 shell 中的目录,但未更改 Ruby.
要更改 Ruby 中的目录,请使用
Dir.chdir '/home/pi/test'
每个进程都有自己的当前目录。 Ruby 的 Kernel#system
为 运行 命令生成了一个 shell 进程(可能 /bin/sh
),然后等待 shell 退出。 shell 更改目录,然后退出。 Ruby 从未更改过目录。