[英]Changing directory in ubuntu with Ruby and a command line tool
#!/home/user/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
case ARGV[0]
when "apache"
exec('cd /etc/apach2')
exec('sudo nano httpd.conf')
#...
end
我正在尝试制作一个快速的命令行工具,它将用一个单词为我更改目录..因此可以从命令行(在ubuntu 12中)进行。 它告诉我不能cd。但是我自己尝试该命令,它将正常工作。
好的,所以我做到了并且可以正常工作(我在OS X上,但应该相同):
ARGV[0]
when "testme"
system('cd ripple')
system('ls -al')
#...
end
调用system('cd ...
不会更改,将您移动到正在执行.rb文件的当前shell中的该目录。因此这样做更有意义:
system('sudo nano /etc/....
全线
我用背tick进行了测试,但对我来说根本不起作用。
我使用exec()
进行了测试,并得到了预期的结果,它只运行一行,仅此而已。 因此,如果只有一个命令要运行,或者使用&&
它们全部链接在一起,则exec()
可以工作
exec('ls /etc && sudo nano /etc/....
我会读这个: http : //rubyquicktips.com/post/5862861056/execute-shell-commands
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.