Questions tagged «shell»

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

8
循环使用逗号分隔的shell变量
假设我有一个Unix shell变量,如下所示 variable=abc,def,ghij 我想提取的所有值(abc,def并ghij使用for循环),并且每个值传递到一个过程。 该脚本应允许从中提取任意数量的逗号分隔值$variable。
109 shell  loops  unix  for-loop  cut 

2
Python 3在线解释器/ Shell
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 是否有使用Python 3 的在线解释器,例如http://codepad.org/或http://www.trypython.org/? 回答 由于问题已经结束,因此我在这里给出另一个答案。 Wandbox提供了多种语言的在线REPL,包括Python 2.x和3.x,C ++和Java。

7
从Cygwin打开文件
opencygwin中是否有与OSX 命令等效的命令。open使用该类型的默认应用程序打开一个文件。 我想做类似的事情 $ magic-command file.xls #excel opens as if file.xls would have been double-clicked $ magic-command file.txt #notepad opens as if file.txt would have been double-clicked 你有主意吗? 基本上类似“ cygwin-double-click”命令。
108 shell  cygwin 


11
如何从shell获取Erlang的发行版本号?
许多程序使用如下命令返回其版本号: $ program --version program (platform info) v1.2.3 这对于脚本编写程序的安装或维护以及系统管理员和朋友提供的一些其他受控自动化方法很有用。 问题 如何轻松获得Erlang(OTP)的版本号? 网络上 这里是一些不令人满意的解决方案([1]和其他教程/ Erlang文档): 仿真器 $ erl 1> erlang:system_info(otp_release). "R13B03" 很难编写脚本。我还没有找到erl从shell提示符执行单个命令的方法。 发布文件 $ cat /usr/lib/erlang/releases/RELEASES [{release,"OTP APN 181 01","R13B03","5.7.4", [{kernel,"2.13.4","/usr/lib/erlang/lib/kernel-2.13.4"}, {stdlib,"1.16.4","/usr/lib/erlang/lib/stdlib-1.16.4"}, {sasl,"2.1.8","/usr/lib/erlang/lib/sasl-2.1.8"}], permanent}]. 解析天堂(带外壳)。 另一种选择也可以是检查安装路径,但是它不是可移植的(我的安装路径不包括版本)。 个人背景:我正在编写一个脚本,以在几台计算机上安装具有插件的相同版本的RabbitMQ。一些插件对OTP版本的要求最低,这就是这个问题的开始方式。 [1] http://forum.trapexit.org/viewtopic.php?p=42946
108 shell  erlang 

6
在列值条件下使用awk
我正在从AWK编程语言学习awk,但其中一个示例存在问题。 如果我想在$ 2等于值的情况下打印$ 3(例如1),则我使用的是此命令,它可以正常工作: awk '$2==1 {print $3}' <infile> | more 但是,当我用另一个搜索条件(例如findtext)代替1时,该命令不起作用: awk '$1== findtext {print $3}' <infile> | more 它不返回任何输出,并且我确定输入文件中存在“ findtext”。 我也试过了,但是不起作用: awk '$1== "findtext" {print $3}' <infile> | more 这是我的测试文件“ test”,它有9行和8个字段,以空格分隔: 1 11 0.959660297 0 0.021231423 -0.0073 -0.0031 MhZisp 2 14 0.180467091 0.800424628 0 0.0566 0.0103 ClNonZ 3 …
108 linux  shell  awk 

13
在printf中填充字符
我正在编写一个bash shell脚本以显示进程是否正在运行。 到目前为止,我得到了: printf "%-50s %s\n" $PROC_NAME [UP] 代码给了我这个输出: JBoss [DOWN] GlassFish [UP] verylongprocessname [UP] 我想用'-'或'*'填充两个字段之间的间隙,以使其更具可读性。在不干扰字段对齐的情况下该如何做? 我想要的输出是: JBoss ------------------------------------------- [DOWN] GlassFish --------------------------------------- [UP] verylongprocessname ----------------------------- [UP]
107 bash  shell  printf 


4
Shell脚本,而读取行循环在第一行之后停止
我有以下shell脚本。目的是循环遍历目标文件的每一行(其路径是脚本的输入参数),并针对每一行工作。现在,它似乎只适用于目标文件的第一行,并在该行得到处理后停止。我的脚本有什么问题吗? #!/bin/bash # SCRIPT: do.sh # PURPOSE: loop thru the targets FILENAME=$1 count=0 echo "proceed with $FILENAME" while read LINE; do let count++ echo "$count $LINE" sh ./do_work.sh $LINE done < $FILENAME echo "\ntotal $count targets" 在中do_work.sh,我运行几个ssh命令。
107 bash  shell  ssh  while-loop 



2
将命令输出存储到变量时如何保留换行符?
我在Linux上使用bash shell。我有这个简单的脚本…… #!/bin/bash TEMP=`sed -n '/'"Starting deployment of"'/,/'"Failed to start context"'/p' "/usr/java/jboss/standalone/log/server.log" | tac | awk '/'"Starting deployment of"'/ {print;exit} 1' | tac` echo $TEMP 但是,当我运行此脚本时 ./temp.sh 打印所有输出而没有回车/换行。不知道这是我将输出存储到$ TEMP还是echo命令本身的方式。 如何将命令的输出存储到变量并保留换行符/回车符?
106 linux  bash  shell  line-breaks 


4
在服务器上运行Java jar文件作为后台进程
我需要在服务器中运行Java jar以便在两个应用程序之间进行通信。我已经编写了两个Shell脚本来运行它,但是一旦启动该脚本,就无法关闭/终止进程。如果按ctrl+ C或关闭控制台,则服务器将关闭。谁能帮助我如何修改此脚本以作为普通服务器运行? #!/bin/sh java -jar /web/server.jar echo $! #> startupApp.pid


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.