我需要在 Debian 64 位下编译 Qt。我下载了源代码,但在行尾的每个文件中到处都有 ^M 符号,bash 不运行配置脚本。如何从qt源中的所有文件中删除它?谢谢。
我想知道是否可以动态读取网络接口的 IP 地址以在 bash 脚本中使用。就像是:
#!/bin/bash
MYPUBLICIP= get_eth0_address
MYPRIVATEIP= get_eth0:0_address
Run Code Online (Sandbox Code Playgroud)
[背景] 我正在尝试编写一个脚本,将各种规则应用于一组 VPS 的 iptables。我试图避免摆弄每台机器的单独 IP。
我的服务器上有很多屏幕。随着screen -ls我得到:
There are screens on:
12858.test1 (Detached)
28210.test2 (Detached)
12494.moretesting3 (Detached)
31787.testingfour4 (Detached)
13192.testscreen5 (Detached)
5 Sockets in /var/run/screen/S-root.
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用screen -S 12858 -X quit或退出单个屏幕,screen -S test1 -X quit但我需要一种同时关闭所有屏幕的方法。
是否有能够关闭每个打开/分离屏幕的 ssh 命令或 bash 脚本?
是否可以在 Bash 中从另一个 shell 脚本调用 shell 脚本,但原始脚本不能等待子脚本完成?
我正在尝试在 VPS 上部署 octopress 但收到此错误bundle: not found但已安装捆绑包!
完全错误。
$ cap deploy
* 2013-07-20 18:08:55 executing `deploy'
* 2013-07-20 18:08:55 executing `deploy:update'
** transaction: start
* 2013-07-20 18:08:55 executing `deploy:update_code'
updating the cached checkout on all servers
executing locally: "git ls-remote git@mydomain.com:website.git HEAD"
command finished in 8348ms
* executing "if [ -d /home/deploy/ruby_apps/website/shared/cached-copy ]; then cd /home/deploy/ruby_apps/website/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard de26553c0aa7ea583e0bfdec2c103ba83adbb793 && git clean -q -d …Run Code Online (Sandbox Code Playgroud) 我有一个进程正在占用一个终端
]$ command some_argument
Run Code Online (Sandbox Code Playgroud)
我想从终端退出并回家,但同时我不想终止这个正在运行的进程。
对于上面的运行过程,我想实现如下:
]$ nohup command some_argument >& logfile &
Run Code Online (Sandbox Code Playgroud) 我在使用 tcpdump 将所有 Internet 流量记录在具有以下限制的接口上时遇到了一些问题:
我正在使用以下命令:
tcpdump -pni eth0 -s65535 -G 3600 -C 100 -w '/var/log/tcpdump/trace_%Y-%m-%d_%H:%M:%S.pcap'
因此,我每小时都会收到一个日志文件,但如果文件大于 100,它似乎不会拆分文件。
有谁知道我在哪里搞砸了?为帮助干杯
我使用 mtr 计算到主机的跃点数并将该数字传递给脚本。我发现了-l(或--raw) 选项,它产生一个准备好解析的输出。但是,我想知道在哪里可以找到这种原始格式描述?不幸的是,man谷歌只给了我这个:
-l
--raw
Use this option to tell mtr to use the raw output format. This format is better suited for archival of the measure?
ment results. It could be parsed to be presented into any of the other display methods.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此表达式在给定字符串之后将一个文本文件的内容插入到另一个文本文件中。这是一个简单的 bash 脚本:
TEXT=`cat file1.txt`
sed -i "/teststring/a \
$TEXT" file2.txt
Run Code Online (Sandbox Code Playgroud)
这将返回错误,“sed:-e 表达式 #1,字符 37:未知命令:`M'”
问题在于 file1.txt 的内容实际上是一个私有证书,因此它包含大量文本和异常字符,这似乎导致了问题。如果我用一个简单的 ASCII 值替换 $TEXT ,它可以工作,但是当它读取 file1.txt 的大量内容时,它会因该错误而失败。
有什么方法可以执行此操作吗?我的语法是否与 sed 或我的引用位置错误有关?
如何在 shell 脚本中使用记录器?
如果我跑
ntpd -qnp pool.ntp.org 2> >(logger)
Run Code Online (Sandbox Code Playgroud)
在控制台中,它按预期工作。
如果我把它放到一个shell脚本中
#!/bin/sh
ntpd -qnp pool.ntp.org 2> >(logger)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
line 2: syntax error: unexpected redirection
exited with code 2
Run Code Online (Sandbox Code Playgroud)
shell 脚本有什么问题?
bash ×10
linux ×3
logging ×2
unix ×2
bundler ×1
capistrano ×1
debian ×1
gnu-screen ×1
job-control ×1
mtr ×1
networking ×1
nohup ×1
rvm ×1
sed ×1
sh ×1
shell ×1
ssh ×1
tcpdump ×1