GVKun编程网logo

使用gitbash shell在windows上使用ruby irb – 无法使用箭头键修改命令输入?

25

如果您想了解使用gitbashshell在windows上使用rubyirb–无法使用箭头键修改命令输入?的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于BashShell;读命令;在Wi

如果您想了解使用gitbash shell在windows上使用ruby irb – 无法使用箭头键修改命令输入?的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于Bash Shell;读命令;在Windows 7上使用Cygwin、gitbash(高速caching密码键):无法让ssh-agent在Windows上运行,修改.bashrc&.profile、Git在Windows上使用ssh连接、Grails上的同步块可在Windows上使用,但在Linux中无法使用的有价值的信息。

本文目录一览:

使用gitbash shell在windows上使用ruby irb – 无法使用箭头键修改命令输入?

使用gitbash shell在windows上使用ruby irb – 无法使用箭头键修改命令输入?

当我做rails控制台时,我的git bash shell允许我使用向上箭头来调用命令,并使用左/右箭头修改我正在输入的文本

当我运行irb时,shell会忽略退格键和箭头键

我不确定为什么箭头键在rails控制台的shell中可以正常工作但在运行irb时却没有?

解决方法

正如我刚刚在相关的 Backspace and arrow keys aren’t working in IRB(Git Bash console) on windows machine中所写:

使用–noreadline运行irb为我解决了这个问题:

irb --noreadline

Bash Shell;读命令;在Windows 7上使用Cygwin

Bash Shell;读命令;在Windows 7上使用Cygwin

好的,所以我遇到了这个问题.我在 Windows上编写了一个在cygwin中运行的脚本.我已经尝试了一堆基本的示例脚本,以防它是我的脚本问题.

所以我尝试了这个:

#!/bin/bash
echo -e "Enter your name and press [ENTER]: \c" 
read var_name
echo "Your name is: $var_name"

然后我将运行它并输入var_name的名称.

我明白了:

$./project1.sh
Enter your name and press [ENTER]: Jake
': not a valid identifierad: `var_name
Your name is:

据我所知,我遇到了阅读问题.我正在尝试为我的课程开展一个项目,但我似乎无法弄清楚为什么它不会读它.我毫不夸张地跟着这本书,然后在网上使用这些似乎对我不起作用的例子.有没有人知道这是我的设置还是我错过了什么,谢谢.

你应该对该脚本执行od -xcb.我的猜测是,它几乎肯定会有错误的行结束字符.

我建议这是因为该行:

': not a valid identifierad: `var_name

看起来像两条线一样可疑:

.........................ad: `var_name
': not a valid identifier

合并在一起(.字符表示已被覆盖的内容).

如果你在该行中的变量是var_namecarriage-return而不是更正常的var_name,那就是这种情况.

事实上它是Cygwin也指出了这个结论,因为当你使用Windows编辑器编辑你的脚本时经常遇到麻烦,这个编辑器使用CR / LF,其中Cygwin只需要LF.

我怀疑你会发现在你的实际脚本上做一个od -xcb表明你在一个或多个脚本行上有那些Windows行结尾.

事实上,我刚刚在Ubuntu下通过在读取行的末尾放置一个CTRL-M并输出(稍微修改以显示CTRL-M)来测试它:

pax@pax-desktop:~$od -xcb qq.sh ; ./qq.sh

0000000    2123    622f    6e69    622f    7361    0a68    6365    6f68
          #   !   /   b   i   n   /   b   a   s   h  \n   e   c   h   o
        043 041 057 142 151 156 057 142 141 163 150 012 145 143 150 157
0000020    2d20    2065    4522    746e    7265    7920    756f    2072
              -   e       "   E   n   t   e   r       y   o   u   r    
        040 055 145 040 042 105 156 164 145 162 040 171 157 165 162 040
0000040    616e    656d    6120    646e    7020    6572    7373    5b20
          n   a   m   e       a   n   d       p   r   e   s   s       [
        156 141 155 145 040 141 156 144 040 160 162 145 163 163 040 133
0000060    4e45    4554    5d52    203a    635c    2022    720a    6165
          E   N   T   E   R   ]   :       \   c   "      \n   r   e   a
        105 116 124 105 122 135 072 040 134 143 042 040 012 162 145 141
0000100    2064    6176    5f72    616e    656d    0a0d    6365    6f68
          d       v   a   r   _   n   a   m   e  \r  \n   e   c   h   o
                                                 ^^

        144 040 166 141 162 137 156 141 155 145 015 012 145 143 150 157
0000120    2220    6f59    7275    6e20    6d61    2065    7369    203a
              "   Y   o   u   r       n   a   m   e       i   s   :    
        040 042 131 157 165 162 040 156 141 155 145 040 151 163 072 040
0000140    7624    7261    6e5f    6d61    2265    0a0a
          $  v   a   r   _   n   a   m   e   "  \n  \n
        044 166 141 162 137 156 141 155 145 042 012 012
0000154

Enter your name and press [ENTER]: pax
': not a valid identifierar_name
Your name is:

换句话说,与您所看到的非常相似.

顺便说一句(现在我可以访问我的Cygwin环境),你看到的是输出:

abcdefghij.sh: line 99 read: `var_name
`: not a valid identifier

第二行覆盖第一行,给出:

`: not a valid identifierad: `var_name

换句话说,奇怪的单词identifyierad实际上由标识符和最终广告组成:来自:之所以与上面的例子相似(而不是精确)是因为你的文件名和行号与我的小测试脚本不同.

gitbash(高速caching密码键):无法让ssh-agent在Windows上运行,修改.bashrc&.profile

gitbash(高速caching密码键):无法让ssh-agent在Windows上运行,修改.bashrc&.profile

任何人都可以帮助,我在窗口和git正在与我的起源设置为github。

当然每次我想拉/推或任何我需要提供github密钥的密码。

根据我已阅读我需要编辑〜/ .profile或〜/ .bashrc并input一些文本

请参阅https://help.github.com/articles/working-with-ssh-key-passphrases

使用Git自动部署

为什么git太慢,无法推送大文件? 有没有什么办法来优化或忽略它?

我如何跟踪不同目录中的git仓库?

如何修复Github上的REJECT NON FAST FORWARD错误?

安装无SSH的Git

我已经做了很多次了,但是当我打开一个新的GitBash窗口时,似乎没有任何东西可以运行(我假设某些东西是运行的,并根据上面的链接询问我的密码)。

所以当然每次推或拉都会每次都要求我input密码。

我在这里明显缺less一些东西可以帮助吗?

记住,我在Windows上:-)和使用Git的gitbash的窗口。

提前致谢

无法从VirtualBox中的ubuntu服务器上的git拉

使Git仓库只读为一些使用gitosis的用户

我可以得到.bbappend文件的path吗?

在Windows上如何合并GIT?

如何使git忽略更改情况?

经过大量调查后,我发现这个记住密码,Git bash在windows下

这正是解释到底需要什么,它与linux不同的地方。

这可能发生在你通过“https”方法克隆版本库,现在尝试推/拉“ssh”或其他方式。 看看这是否会为你工作:

git remote set-url origin git@github.com:your_account/your_repo.git

在Windows 10这为我工作

运行git bash

touch ~/.profile

start ~/.profile打开.profile

将以下内容添加到.profile

#! /bin/bash eval `ssh-agent -s` ssh-add ~/.ssh/*_rsa

这是基于这个答案 。 唯一的区别是.bashrc没有工作,而是.profile工作。

Git在Windows上使用ssh连接

Git在Windows上使用ssh连接

我已经阅读了一些问题,但仍然没有find解决这个问题的办法

我有Windows混帐,我想用ssh连接到github。 按照这个教程https://help.github.com/articles/generating-ssh-keys我已经成功地设置了我的密钥

如果我打开一个混帐bash,并尝试ssh github我能够连接,所以这个工程

ssh -T git@github.com Hi username! You've successfully authenticated,but GitHub does not provide shell access.

这意味着git-bash实际上会看到我的密钥。 但是,如果我试图推动

如何访问Windows共享上的git回购?

给Linux用户git访问但不是shell访问?

如何在Windows GUI中做rebase – 交互

如何启用Gitterminal开始在Windows主目录?

Git:在保留历史logging的同时,在Windows中协调两个带有重复名称的文件夹(不同的名称)

git push origin master

git提示我input用户名和密码

感谢您的帮助

编辑:通过使用git协议而不是http协议解决,我的错

所以replace这个

https://github.com/_user_/_repository_.git

白衣这个

git@github.com:_user_/_repository_.git

在远程链接

无法使用git-client插件在jenkins中检索git子模块

使用terminal的别名创build一个git repo

在Windows上的git svn rebase问题

在Windows命令提示符下不显示Git颜色

在Windows中使用Git Bash的命令是什么,例如在git diff模式下?

您可能克隆了使用https协议的远程,而不是git协议。 您需要重新定义您的遥控器的来源 。

# Change this as needed. github_username="$LOGNAME" # Replace your remote,then push. git remote rm origin git remote add origin "git@github.com:${github_username}/${PWD##*/}.git" git push --tags --set-upstream origin master

不需要删除/添加,只需要做这样的事情:

git remote set-url origin git@github.com:username/repo.git

Grails上的同步块可在Windows上使用,但在Linux中无法使用

Grails上的同步块可在Windows上使用,但在Linux中无法使用

我有一个grails应用程序,它依赖于服务中的同步块。当我在Windows上运行它时,同步可以按预期工作,但是当我在ams
linux上运行时,会收到StaleObjectStateException。

在下面的示例中重现该问题。

class TestService {private final Object $lock = new Object[0];TesteSync incrementa() {    synchronized ($lock) {        TesteSync t = TesteSync.findById(1)        t.contador++        t.save(flush: true)        Thread.sleep(10000)        return t    }}

}

据我了解,发生此异常是因为多个线程正在尝试保存同一对象。这就是为什么我使用同步块。

Linux Java:

  • Java版本“ 1.7.0_85”
  • OpenJDK运行时环境(amzn-2.6.1.3.61.amzn1-x86_64 u85-b01)
  • OpenJDK 64位服务器VM(内部版本24.85-b03,混合模式)

Windows Java:

  • Java版本“ 1.7.0_79”
  • Java(TM)SE运行时环境(内部版本1.7.0_79-b15)
  • Java HotSpot(TM)64位服务器VM(内部版本24.79-b02,混合模式)

有什么线索吗?

谢谢

答案1

小编典典

您为什么要获取 StaleObjectStateException 是正确的。

如果您要查找的是悲观锁定(在任何给定时间只允许一个事务访问数据),则可以使用域类 lock() 方法:

class TestService {    static transactional = true    TesteSync incrementa() {        TesteSync t = TesteSync.lock(1)        t.contador++        return t.save()    }}

您可以在此处了解更多有关Grails悲观锁定的信息。

PS:默认情况下,Grails服务是事务性的。但是在我的示例中,我显式地使服务成为事务性的,以引起您的注意:Grails
在事务提交时自动释放锁定。我还删除了刷新,因为在事务提交时数据将被刷新。如果您是通过未显式设置为
@Transactional 的控制器方法执行此操作的,则需要进行刷新。

提示:通过ID查询时,您可以执行此操作…

SomeDomainClass.get(1)

而不是这个

SomeDomainClass.findById(1)

今天关于使用gitbash shell在windows上使用ruby irb – 无法使用箭头键修改命令输入?的分享就到这里,希望大家有所收获,若想了解更多关于Bash Shell;读命令;在Windows 7上使用Cygwin、gitbash(高速caching密码键):无法让ssh-agent在Windows上运行,修改.bashrc&.profile、Git在Windows上使用ssh连接、Grails上的同步块可在Windows上使用,但在Linux中无法使用等相关知识,可以在本站进行查询。

本文标签: