Articles of bash

为什么/ bin / sh与/ bin / bash的行为不同,即使指向另一个也是如此?

当我在shell中调查这个问题的答案时,我注意到,即使/bin/sh在我的系统上指向了/bin/bash ,这两个命令的行为也不一样。 首先,输出 ls -lh /bin/sh 是: lrwxrwxrwx 1 root root 4 Apr 22 2013 /bin/sh -> bash* 但是,通过/bin/sh调用以下命令: /bin/sh -c "script.sh 2> >( grep -v FILTER 2>&1 )" 返回这个错误: /bin/sh: -c: line 0: syntax error near unexpected token '>' /bin/sh: -c: line 0: 'script.sh 2> >( grep -v FILTER 2>&1 )' 当通过/bin/bash运行相同的命令时: /bin/bash -c […]

Windows Bash和Visual Studio代码:如何将bash作为运行任务启动?

如何从Visual Studio代码运行Windows Bash作为运行任务? 下面是我在tasks.json上做的一些尝试。 { "version": "0.1.0", "command": "cmd", "isShellCommand": true, "args": [ "RunShellScript.bat" ], "showOutput": "always" } RunShellScript.bat只有这一行: bash myShellScript.sh 。 如果你只是从开始打开CMD,并input该行,它将执行。 如果你只是双击文件,它也可以很好地运行。 但是,从VSCode启动时,此输出只是挂起,直到我终止它。 尝试编号2: { "version": "0.1.0", "command": "cmd", "isShellCommand": true, "args": [ "bash myShellScript.sh" ], "showOutput": "always" } 这也挂起,就像上面一样。 尝试3号: { "version": "0.1.0", "command": "C:/Windows/System32/bash", "isShellCommand": false, "args": [ "myShellScript.sh" ], "showOutput": […]

在Windows 7中启动Git Bash时出错

当启动git bash ,我得到这个错误: [main] bash 8176 child_copy: stack write copy failed, 0xFFFFBE50..0x1000 00000, done 2002650816, windows pid 11128, Win32 error 5 518 [main] bash 8176 fork: child 10232 – pid 10232, exitval 0x103, errno 11 bash: fork: retry: Resource temporarily unavailable bash: fork: Resource temporarily unavailable 任何人知道如何解决这个错误?

如何在shell脚本中即时生成新的variables名称?

我试图在一个shell脚本中生成dynamic的var名称来处理循环中具有不同名称的一组文件,如下所示: #!/bin/bash SAMPLE1='1-first.with.custom.name' SAMPLE2='2-second.with.custom.name' for (( i = 1; i <= 2; i++ )) do echo SAMPLE{$i} done 我会期待输出: 1-first.with.custom.name 2-second.with.custom.name 但我得到了: SAMPLE{1} SAMPLE{2} 是否有可能在飞行中生成var名称?

Git for Windows不执行我的.bashrc文件

我刚刚在Windows 7上安装了Git for Windows 2.5.0,看来我的.bashrc文件在运行Git Bash时没有被执行。 我创build了这样的文件: Administrator@HintTech-Dev MINGW64 / $ pwd / Administrator@HintTech-Dev MINGW64 / $ cd ~ Administrator@HintTech-Dev MINGW64 ~ $ pwd /c/Users/Administrator Administrator@HintTech-Dev MINGW64 ~ $ touch .bashrc Administrator@HintTech-Dev MINGW64 ~ $ vi .bashrc [… I insert the line "ZZZTESTVAR=234" (without the quotes) into the file in vim …] Administrator@HintTech-Dev MINGW64 ~ […]

如何将parameter passing给Windows下的.sh脚本?

我试图在Windows下执行.sh脚本。 我安装了Git,它允许我执行.sh文件。 但是,我似乎无法传递任何参数,而不用前缀“sh”的执行: 我的.sh文件: echo "Test" $1 如果我执行它: > sh test.sh 123 我明白了 testing123 但是,如果我只是执行它 > test.sh 123 我明白了 testing 我知道可以使用参数执行.sh脚本,而不用“sh”作为前缀,因为通过某些组合的configuration,我可以在旧计算机上以某种方式进行configuration。 任何猜测如何做到这一点?

Unicode(utf-8)和git-bash

我有一些麻烦让unicode工作git-bash(在Windows 7上)。 我尝试了很多事情,但都没有成功。 虽然,我不太清楚这是什么责任,所以我可能会在错误的方向工作。 这真的应该是可能的,因为cmd.exe的编码可以通过'chcp 65001'改成unicode。 以下是我尝试过的一些事情(除了通过GUI中的configuration选项来查看)。 在“.bashrc”中设置环境variables。 我想这是有道理的,这是行不通的,因为我认为这是一个Linux的东西。 'locale'命令不存在。 export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 从cmd.exe开始,使用“chcp 65001”将编码更改为unicode,然后启动git-bash。 这使我得到一个权限被拒绝时,试图猫我的unicodetesting文件。 但是,捕获一个没有unicode的文件工作得很好。 如演示,退出到cmd.exe我仍然可以“猫”的文件。 使用我的默认编码(437)我可以在bash中捕获该文件(没有权限被拒绝,但输出是伪造的)。 S:\>chcp 65001 Active code page: 65001 S:\>"C:\Program Files (x86)\Git\bin\sh.exe" –login -i zarac@TOWELIE /z cat /s/unicode.txt cat: write error: Permission denied zarac@TOWELIE /z cat /s/nounicode.txt abc zarac@TOWELIE /z L /s/unicode.txt -rw-r–r– 1 zarac Administ […]

Bash脚本将Windowspath转换为Linuxpath

我是新的shell脚本,并试图完成以下操作,将Windowspath转换为Linuxpath和导航到该位置: input: cdwin "J:\abc\def"操作: cd /usr/abc/def/ 所以,我正在改变以下内容: "J:" -> "/usr" 和 "\" -> "/" 这是我的尝试,但它不起作用。 它只是返回一个空白,如果我回声: function cdwin(){ line="/usrfem/Projects$1/" | sed 's/\\/\//g' | sed 's/J://' cd $line }

如何在Bash / Grep中转义单引号?

我想用grepsearch一个看起来像这样的string: something ~* 'bla' 我试过这个,但是shell删除了单引号argh .. grep -i '"something ~* '[:alnum:]'"' /var/log/syslog 什么才是正确的search?

在Windows 10上,Ubuntu上的Bash支持USB吗?

我没有关于USB的文件或path在开发/ 当我插入闪存盘时,dev /或mnt /或media /上不会显示任何内容。 sudo lsusb返回: unable to initialize libusb: -99 我该怎么做才能在bash上启用usb访问?