小编use*_*247的帖子

从shell脚本中的每一行获取前5个字符

这是我的sample.txt文件,它包含以下内容

31113    70:54:D2 - a-31003
31114    70:54:D2 - b-31304
31111    4C:72:B9 - c-31303
31112    4C:72:B9 - d-31302
Run Code Online (Sandbox Code Playgroud)

我必须编写shell脚本,因为我将前5个字符(例如31113)作为输入id传递给其他脚本.为此我试过这个

#!/bin/sh
filename='sample.txt'
filelines=`cat $filename`
while read -r line
do
  id= cut -c-5 $line
  echo $id
  #code for passing id to other script file as parameter
done < "$filename"
Run Code Online (Sandbox Code Playgroud)

但它不起作用这给了我错误

cut: 31113: No such file or directory
cut: 70:54:D2 No such file or directory
31114
31111
31112
: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

linux bash shell cut sh

17
推荐指数
3
解决办法
5万
查看次数

如何访问rails动作邮件程序中的current_user

嗨,我必须访问我的动作邮件程序中的当前用户,但我收到以下错误

undefined local variable or method `current_user' for #<WelcomeMailer:0xa9e6b230>
Run Code Online (Sandbox Code Playgroud)

通过使用此链接,我使用应用程序帮助程序来获取当前用户.这是我的WelcomeMailer

class WelcomeMailer < ActionMailer::Base
  layout 'mail_layout'

  def send_welcome_email
    usr = find_current_logged_in_user
    Rails.logger.info("GET_CURRENT_USER_FROM_Helper-->#{usr}")
  end
end
Run Code Online (Sandbox Code Playgroud)

我的应用程序助手如下

def find_current_logged_in_user
    #@current_user ||= User.find_by_remember_token(cookies[:remember_token])
    # @current_user ||= session[:current_user_id] && User.find_by_id(session[:current_user_id])
    Rails.logger.info("current_user---> #{current_user}")
    current_user
  end
Run Code Online (Sandbox Code Playgroud)

我也尝试过session和cookies.那么我该如何解决这个错误,或者是否有其他方法来访问动作邮件程序中的当前用户.我在用Rails 3.2.14 and ruby ruby 2.1.0

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

6
推荐指数
1
解决办法
3943
查看次数

为Rails获取错误"无法分配内存"

在我的项目中,有一个脚本返回我必须在表格中显示的产品列表.

存储我使用的脚本的输入IO.popen:

@device_list = []
IO.popen("device list").each do |device|
  @device_list << device
end
Run Code Online (Sandbox Code Playgroud)

device list 是给我产品列表的命令.

@device_list通过迭代将数组返回到我的视图中进行显示.

当我运行它时,我收到一个错误:

Errno::ENOMEM (Cannot allocate memory):
for IO.popen
Run Code Online (Sandbox Code Playgroud)

我有另一个脚本device status只返回true和false但我得到了同样的错误:

def check_status(device_id)        
    @stat = system("status device_id")
    if @stat == true
         "sold"
    else
         "not sold"
    end
  end
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

ruby ruby-on-rails ruby-1.8

3
推荐指数
1
解决办法
9112
查看次数

通过shell脚本退出或关闭vim

我正在编写一个脚本文件,我必须在其中关闭打开的 vim 文件。那么,如何通过 shell 脚本关闭或退出文件?我试过这个解决方案,但没有运气。我这样试过:

vim path_to_file/abc +qa
Run Code Online (Sandbox Code Playgroud)

linux vim

3
推荐指数
1
解决办法
1169
查看次数

使用aws-sdk gem列出s3中的所有文件

我有以下情况.在我的情况下考虑aws s3文件夹结构如下

- videos
  - my_videos
    - college
Run Code Online (Sandbox Code Playgroud)

我已上载的视频文件说myfirst_day.mp4college,因为这关系形成的关键是"videos/my_videos/college/myfirst_day.mp4"

现在我必须列出目录中的所有文件videos/my_videos/college.我该怎么做.

为此,我使用aws-sdk gem

ruby amazon-s3 amazon-web-services ruby-1.9.3

3
推荐指数
1
解决办法
2981
查看次数

在rails中创建许多链接的下拉列表

我有很多关于例如link1,link2,link3,link4 ... link9的链接.我必须在下拉列表中添加这些链接.我尝试使用rails select_tag和html标签

使用html选择标记

<span class="device_update">
    <select>
      <option value="link1"><%= link_to "link1", "#",{:remote => true, 'data-toggle' =>  "modal", 'data-target' => '#modal-window'} %></option>
      <option value="link2"><%= link_to "link2", "#",{:remote => true, 'data-toggle' =>  "modal", 'data-target' => '#modal-window'} %></option>
      <option value="link3"><%= link_to "link3", "#",{:remote => true, 'data-toggle' =>  "modal", 'data-target' => '#modal-window'} %></option>
           ......

      <option value="link9"><%= link_to "link9", "#",{:remote => true, 'data-toggle' =>  "modal", 'data-target' => '#modal-window'} %></option>
        </select>
    </span>
Run Code Online (Sandbox Code Playgroud)

如何制作许多链接的下拉列表

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

1
推荐指数
1
解决办法
5117
查看次数