Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。

2
将bash字符串转换为数组
我有一个名为script.js的脚本(在Node.js中),它输出以下字符串: (1, 2, 3) 我想通过以下方式循环读取它: INDICES=$(node script.js) for i in "{INDICES[@]}" do echo $i done 而不是打印 1 2 3 我明白了 (1, 2, 3) 由于脚本输出被读取为字符串。 我如何使它成为一个数组?
3 linux  bash 

2
如何让`make`识别别名命令
我正在安装 MOOG ,当我 make -f Makefile.maclap 我收到错误: $ make -f Makefile.maclap g77 -w -c -o Abfind.o Abfind.f make: g77: No such file or directory make: *** [Abfind.o] Error 1 经过网上研究,我认为,由于我有gcc-5,我的计算机上不存在命令g77。 所以我根据堆栈交换问题使用了 alias g77=/usr/local/bin/gfortran-5 尝试用gfortran编译fortran代码。 现在,当我 g77 我知道了 gfortran-5: fatal error: no input files compilation terminated,表明 g77 正在编译。 但是当我 make -f …

1
如何正确设置GNU Screen以在hardstatus中显示当前正在运行的程序
在bash中,要在GNU Screen中显示当前程序的名称,hardstatus行只需要两条配置行。 首先,告诉屏幕提示的结尾通常是什么样的,并在您坐在shell中时为窗口提供默认标题: shelltitle "$ |bash" 接下来,在通常终止提示的字符之前,将此转义序列放在PS1变量中 '$ ' 在这种情况下: \033k\033\\ 这种技术很有用。 hardstatus窗口标题更新为当前正在运行的程序的名称,然后在执行完成后立即切换回默认标题。但是,一个主要问题是这个转义字符串本身没有转义,导致命令长于初始行的换行问题。 这很烦人,所以我开始寻找解决方案。事实证明,只需转义前一个转义序列就可以纠正换行: \[\033k\]\[\033\\\] 大!我的hardstatus窗口标题仍然更新为当前正在运行的程序的名称,现在我的较长命令正确地换行到第二行。但是,在我的PS1中使用这个新的转义序列,屏幕将窗口标题更新为我正在键入的实际命令,而不仅仅是当前程序执行后的名称。 我想知道,有没有人得到这个正常工作 - 即换行和正确更新hardstatus窗口标题?

1
Bash readline blink-matching-paren不闪烁匹配括号
巴什 readline 有一个叫做的设置 blink-matching-paren 这不适合我。如果我在命令行上键入一个左括号,然后是一些文本,那么一个紧密的括号我不会闪烁。圆括号匹配对我有用 vim 和 emacs -nw。 以下是设置和版本等: $ bind -v | grep blink-matching-paren set blink-matching-paren on $ set -o | grep -E '\<(emacs|vi)\>' emacs on vi off 各种组合: Bash 4.0.33(1) - 发布 Bash 4.1.9(2) - 发布 Bash 3.2.51(24) - 发布 薄荷0.9.2 PuTTY 0.60(带和不带“启用闪烁文本”) xterm 243 gnome-terminal 2.28.1 …
3 bash  readline 

2
从cron运行的shell脚本没有运行python
我有python程序,我想每天用不同的变量运行它(在CentOS服务器上): #!/bin/sh /usr/bin/python /root/testing/test.py --variables /root/testing/daily/test1.txt while [ $? != 0 ] do sleep 60 /usr/bin/python /root/testing/test.py --variables /root/testing/daily/test1.txt done sleep 60 运行,但htop中没有python,程序输出为空。 我将python更改为/ usr / bin / python,因为当我搜索时,我找到了它可以修复的答案。 在运行这个python代码之前,我还有另一个小的,只是更新旧文件,该程序运行并且非常有效。当我从终端输入sh tester.sh运行这个shell程序时它起作用,只有从cron运行时才会出现问题。 它也适用于Ubuntu服务器。 怎么了? cron和shell脚本在CentOS中可以有不同的工作吗? 另外,我的crontab语法: 22 23 * * * sh /root/testing/cron-work.sh >> /root/cron1.log 23 23 * * * sh …
3 bash  shell  centos  cron 

1
如何使用调整后的环境变量启动运行bash的终端?
我正在使用Xubuntu和XFCE。 我想编写一个bash脚本,在xfce4-terminal中打开一个新选项卡。在此选项卡中,bash应该以更改的方式运行 PATH 环境变量。 目前,shell脚本看起来像这样: xfce4-terminal \ --tab \ --title=GCC \ --command 'bash' 它正在终端中打开一个新的bash-tab,就像它应该的那样。但是,我还想要设置这个环境变量: export PATH=/home/manuel/toolchains/gcc-arm-none-eabi-4_9-2014q4/bin:$PATH 我想可以将此命令作为参数提供给 bash 我的shell脚本中的命令。然而,即使在研究了手册之后我也无法理解它。

1
如何绑定〜/ .inputrc(readline)中的箭头以进行vim插入模式?
在〜/ .inputrc(set editing-mode vi)中启用了vim模式的Readline应用程序中,是否有办法<Up>在vi-insert模式下绑定箭头键?例如,显示上一个历史记录项。看来我必须先按ESC键,然后才能正常工作。 这是我尝试使其工作(〜/ .inputrc): $if mode=vi # INSERT MODE set keymap vi-insert "\e[A": history-search-backward # up-arrow "\e[B": history-search-forward # down-arrow 另请注意,当我按下Ctrl+v然后<Up>打印时^[[A。 我确实设法让它像zsh一样工作:http: //paulgoscicki.com/archives/2012/09/zsh-vi-mode-with-emacs-keybindings/

4
如何调用常见的bash命令集(即“find”,“xargs”和“grep”以查找文件中的文本)?
要自定义我的bash用户体验,有没有办法使用.bashrc来调用常用命令集。例如,我发现这组命令在文本文件中查找搜索字符串, find /directory -type f -print0 | xargs -0 grep -i 'search string' 我希望能够使用像grepfindfile这样的自定义别名来回忆这个问题,然后查看bash中显示的上述命令集,就像从历史记录中提取最后一个命令一样。 或者我是否必须创建某种bash脚本?与bashrc文件一样,命令行用户是否共享其生产力脚本?他们叫什么?我最喜欢的bash 小部件? - CF. 此处针对VIM询问的问题类型如何在vim中为查找和替换命令创建快捷方式?
3 bash  unix 

4
格式化SVN日志输出
我想获取提交给svn的文件的日志消息。我目前正在使用以下命令: svn --non-interactive log "myfile.c" | sed -e "s/[\-]//g"' 输出是: r42153 | sam | 2012-03-02 14:51:53 -0800 (Fri, 02 Mar 2012) | 1 line Update to code. 我想摆脱第一行“r42153 | sam | ....”并输出日志消息。 我怎样才能做到这一点?
3 bash  svn 

2
如何在终端登录时自动加载`script`命令
script命令允许在会话期间轻轻记录放入控制台的所有内容(如历史记录,但也显示命令结果)。一切都记录到文件中typescript.xxx 现在我想在已经运行的每个终端会话中运行它。我试图把script到bashrc,但它落入递归循环(script正在运行它自己的壳)。有任何想法吗?

1
-R标志对chflags有什么作用?
我不清楚-R旗帜到底是做什么的chflags。我想知道是否有人可以帮助我。 手册页说: Recurse:更改以文件为根的文件层次结构的文件标志,而不仅仅是文件本身。 我不明白这意味着什么。谁能告诉我什么区别会之间chflags -R hidden,公正chflags hidden? 这里有一个在线手册页供参考:http://ss64.com/osx/chflags.html

2
Shell脚本启动进程,启动另一个进程,然后终止第一个进程
让我们想象一下我在同一台机器上有一个client和一个server机器,我想编写它们之间的一些交互。 我真的很喜欢shell脚本 - 开始 server 放在server后台 开始 client (等待client做任何事情) 停止 server 我已经可以做大部分了,就像这样 - ./server & ./client 但是,server在脚本完成之后,它会继续运行,除了其他任何东西,它都是非常不整洁的。 我能做什么?

1
Root无法编辑crontab
我需要帮助。我正在使用ubuntu 16.04.5 LTS。我想编辑crontab,我已经以root身份登录。当我运行命令“crontab -e”时,已经有一个下载文件并执行的计划。我认为这是一个木马,所以我想从crontab中删除,但每次我更改crontab,错误信息显示“操作不允许”。 如何解决此问题并删除我的crontab中注入的脚本?
3 linux  ubuntu  bash  cron 

3
如何计算目录(及其子目录)中所有文件的总字数?
我想我可以用wc以某种方式做到这一点,如果有一个递归选项但我不确定。我想要一个目录及其子目录下的文件中的总字数总数(不仅仅是每个文件的字数)。 注意我用我的mac执行此操作。 好的,我刚试过这个命令 find enwiki/ -type f | xargs wc -w > output.txt 生成的输出文件有6425104行,表示有很多文件。但最终的总字数只有381609.或许,计算的字总数超过了bash允许的最大值?我不确定是否发生了这种情况,或者我是否错误地使用了wc。
3 mac  bash 

1
使用Bash进行网关/路由器检测:功能和变量
我正在起草/仍然是头脑风暴/一个bashshell脚本。其目的是; 帮助用户: 与各种CLI工具的接口。 执行各种管理任务。 它最终可能演变成一个个性化的框架。 它有一个特殊要求: 它应该能够检测到IP地址 的的网关/路由器 上当前LAN。 我拿出route -n |awk '/UG/{print $2}';来呼应了 相应的IP 到标准输出。 我应该将该输入用作a function(){ },它的输出是a $variable还是两者? 以下是我的一些简单想法: #function# gw() { route -n |awk '/UG/{print $2}'; } #variable# gw="$( route -n |awk '/UG/{print $2}'; )" #function# gw() { route -n |awk '/UG/{print $2}'; } #variable# gw="$( route …

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.