Questions tagged «shell»

术语“外壳”是指通常与Unix和Linux操作系统相关联的一类基于文本的交互式命令解释器。对于有关shell脚本的问题,请使用更具体的标签,例如'bash','powershell'或'ksh'。没有特定标签的情况下,应该假定使用便携式(符合POSIX的)解决方案,尽管最好另外使用“ posix”或“ sh”。

5
如何指定多行外壳变量?
我写了一个查询: function print_ui_hosts { local sql = "select ........." print_sql "$ sql" } 本地sql-一个非常长的字符串。查询未格式化。如何将字符串分成多行?
122 bash  shell 

11
如何grep包含一些二进制数据的文本文件?
grep返回 二进制文件test.log匹配 例如 echo "line1 re \x00\r\nline2\r\nline3 re\r\n" > test.log # in zsh echo -e "line1 re \x00\r\nline2\r\nline3 re\r\n" > test.log # in bash grep re test.log 我希望结果将显示line1和line3(总共两行)。 是否可以使用tr将无法打印的数据转换为可读数据,以使grep再次工作?
122 shell 


5
运行bash脚本的docker入口点“权限被拒绝”
我正在尝试将我的node.js应用程序码头化。构建容器后,我希望它运行a git clone,然后启动节点服务器。因此,我将这些操作放在.sh脚本中。并在ENTRYPOINT中将脚本作为单个命令运行: FROM ubuntu:14.04 RUN apt-get update && apt-get install -y build-essential libssl-dev gcc curl npm git #install gcc 4.9 RUN apt-get install -y software-properties-common python-software-properties RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test RUN apt-get update RUN apt-get install -y libstdc++-4.9-dev #install newst nodejs RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash …
122 bash  shell  docker 

14
在shell中获取文件大小(以字节为单位)的可移植方式?
在Linux上,我使用stat --format="%s" FILE,但是我可以访问的Solaris没有stat命令。那我该怎么用呢? 我正在编写Bash脚本,不能真正在系统上安装任何新软件。 我已经考虑过使用: perl -e '@x=stat(shift);print $x[7]' FILE 甚至: ls -nl FILE | awk '{print $5}' 但是,这些看上去都不明智-运行Perl只是为了获取文件大小?还是运行2个命令来执行相同的操作?
121 linux  bash  shell  solaris 

5
Linux bash:多变量分配
Linux bash中确实存在类似于PHP中以下代码的内容: list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ; 也就是说,您在一个句子中为3个不同的变量分配了一个对应的值。 假设我有bash函数myBashFuntion,该函数会写入标准输出字符串“ qwert asdfg zxcvb”。是否可以做类似的事情: (var1 var2 var3) = ( `myBashFuntion param1 param2` ) 等号左边的部分当然不是有效的语法。我只是想解释我的要求。 但是,有效的方法如下: array = ( `myBashFuntion param1 param2` ) echo ${array[0]} ${array[1]} ${array[2]} 但是索引数组的描述性不如普通变量名。 但是,我可以这样做: var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]} 但是,我还是希望避免另外3条语句。 我只是在寻找一种快捷方式语法。可能吗?





6
sed全词搜索和替换
如何使用sed搜索和替换整个单词? 在做 sed -i 's/[oldtext]/[newtext]/g' <file> 还将替换[oldtext]我不希望执行的部分匹配。
120 shell  sed 

9
如何在两个标记模式之间选择可能会用awk / sed多次出现的行
使用awk或sed如何选择出现在两个不同标记图案之间的线?可能会有多个部分标有这些模式。 例如:假设文件包含: abc def1 ghi1 jkl1 mno abc def2 ghi2 jkl2 mno pqr stu 起始模式为abc,结束模式为,mno 所以我需要输出为: def1 ghi1 jkl1 def2 ghi2 jkl2 我使用sed一次匹配模式: sed -e '1,/abc/d' -e '/mno/,$d' <FILE> 有什么办法sed或awk 重复做直到文件结束?

6
遍历ls -l输出的每一行
我想遍历输出的每一行: ls -l /some/dir/* 现在我正在尝试: for x in $(ls -l $1); do echo $x; done 但是,这会分别遍历行中的每个元素,因此我得到: -r--r----- 1 ivanevf eng 1074 Apr 22 13:07 File1 -r--r----- 1 ivanevf eng 1074 Apr 22 13:17 File2 但是,我想遍历每一行。我怎么做?
119 linux  shell 


10
如何使用带shebang的awk使用多个参数(即#!)?
我想使用shebang 执行gawk脚本--re-interval。“天真”的方法 #!/usr/bin/gawk --re-interval -f ... awk script goes here 这是行不通的,因为gawk是用第一个参数"--re-interval -f"(不能在空白处拆分)调用的,它无法理解。有没有解决方法? 当然,您不能直接调用gawk,而是将其包装到一个拆分第一个参数的shell脚本中,或者制作一个外壳脚本,然后再调用gawk并将该脚本放入另一个文件中,但是我想知道是否有某种方法可以执行在一个文件中。 shebang行的行为因系统而异-至少在Cygwin中,它不按空格分隔参数。我只是关心如何在这样的系统上进行操作。该脚本不是可移植的。
118 shell  unix  awk  gawk  shebang 

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.