Questions tagged «bash»

有关为Bash命令外壳编写的脚本的问题。对于具有错误/语法错误的shell脚本,请在此处发布之前,使用shellcheck程序(或在Web shellcheck服务器中的https://shellcheck.net)进行检查。有关Bash交互使用的问题更可能是Super User而不是Stack Overflow上的话题。

14
在Linux中找到-exec一个shell函数?
有没有办法find执行我在Shell中定义的功能?例如: dosomething () { echo "doing something with $1" } find . -exec dosomething {} \; 结果是: find: dosomething: No such file or directory 有没有办法让find的-exec看dosomething?
185 linux  bash  shell  find  bsd 

4
如何在Bash中逐行合并两个文件
我有两个文本文件,每个文件都包含一行这样的信息 file1.txt file2.txt ---------- --------- linef11 linef21 linef12 linef22 linef13 linef23 . . . . . . 我想使用bash脚本逐行合并这些文件,以获得: fileresult.txt -------------- linef11 linef21 linef12 linef22 linef13 linef23 . . . . . . 如何在Bash中完成?
185 bash  unix 



7
RE错误:Mac OS X上的非法字节序列
我正在尝试替换Mac OS X上Makefile中的字符串以交叉编译到iOS。该字符串具有嵌入的双引号。该命令是: sed -i "" 's|"iphoneos-cross","llvm-gcc:-O3|"iphoneos-cross","clang:-Os|g' Configure 错误是: sed: RE error: illegal byte sequence 我尝试用双引号,逗号,破折号和冒号进行转义,但没有任何乐趣。例如: sed -i "" 's|\"iphoneos-cross\"\,\"llvm-gcc\:\-O3|\"iphoneos-cross\"\,\"clang\:\-Os|g' Configure 我花了点时间调试问题。有谁知道如何sed打印非法字节序列的位置?还是有人知道非法字节序列是什么?
184 regex  macos  bash  sed 

6
遍历数组,同时打印索引和值
我想做这样的事情: foo=( ) foo[0]="bar" foo[35]="baz" for((i=0;i<${#foo[@]};i++)) do echo "$i: ${foo[$i]}" done # Output: # 0: bar # 1: 然后我尝试使用for循环遍历它: foo=( ) foo[0]="bar" foo[35]="baz" for i in ${foo[@]} do echo "?: $i" done # Output: # ?: bar # ?: naz 但是这里我不知道索引值。 我知道你可能会喜欢 foo=( ) foo[0]="bar" foo[35]="baz" declare -p foo # …
184 bash 

13
以任何方式退出bash脚本,但不退出终端
当我exit在shell脚本中使用command时,该脚本将终止终端(提示)。有什么方法可以终止脚本然后留在终端中? 我的脚本run.sh有望通过直接获取或从其他脚本获取来执行。 编辑:更具体,有两个脚本run2.sh作为 ... . run.sh echo "place A" ... 和run.sh作为 ... exit ... 当我通过运行它时. run2.sh,如果它在的exit代码行中命中run.sh,我希望它停在终端并停留在那里。但是使用exit,整个终端将关闭。 PS:我尝试使用return,但是echo代码行仍将执行...。
183 linux  bash 






14
从URL执行bash脚本
假设我在URL“ http://mywebsite.com/myscript.txt”处有一个包含脚本的文件: #!/bin/bash echo "Hello, world!" read -p "What is your name? " name echo "Hello, ${name}!" 而且我想先运行该脚本而不先将其保存到文件中。我该怎么做呢? 现在,我已经看到了语法: bash < <(curl -s http://mywebsite.com/myscript.txt) 但这似乎不像我保存到文件然后执行时那样。例如,readline不起作用,而输出仅为: $ bash < <(curl -s http://mywebsite.com/myscript.txt) Hello, world! 同样,我尝试过: curl -s http://mywebsite.com/myscript.txt | bash -s -- 具有相同的结果。 最初我有一个解决方案,例如: timestamp=`date +%Y%m%d%H%M%S` curl -s http://mywebsite.com/myscript.txt -o /tmp/.myscript.${timestamp}.tmp …
182 linux  bash  curl 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.