我有有很多的bash脚本echo语句,也是我别名echo到echo -e两个.bash_profile及.bashrc,使新线为语句正常打印一样echo 'Hello\nWorld'的输出应该是
Hello
World
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是
Hello\nWorld
Run Code Online (Sandbox Code Playgroud)
我什至尝试shopt -s expand_aliases在脚本中使用,它没有帮助
我正在运行我的脚本bash /scripts/scriptnm.sh;如果我. /scripts/scriptnm.sh在获得所需的输出时运行它...
您如何指示 wget 递归抓取网站并仅下载某些类型的图像?
我尝试使用它来抓取网站并且只下载 Jpeg 图像:
wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html
Run Code Online (Sandbox Code Playgroud)
然而,即使 page1.html 包含数百个指向子页面的链接,这些链接本身具有指向图像的直接链接,但 wget 会报告诸如“删除 subpage13.html 因为它应该被拒绝”之类的内容,并且从不下载任何图像,因为没有一个直接链接到从起始页。
我假设这是因为我的 --accept 被用于指导抓取和过滤内容下载,而我希望它只用于指导内容下载。如何让 wget 抓取所有链接,但只下载具有某些扩展名(如 *.jpeg)的文件?
编辑:另外,有些页面是动态的,是通过 CGI 脚本生成的(例如 img.cgi?fo9s0f989wefw90e)。即使我将 cgi 添加到我的接受列表(例如 --accept=jpg,jpeg,html,cgi),这些仍然总是被拒绝。有没有解决的办法?
我知道它$!存储了最后一个(后台)进程的 pid,但这是什么%1意思?我经常看到它kill和它一起使用,它的效果与kill $!. 有人可以给我一个提示吗?(这么小的术语很难用谷歌搜索:-/)
我一直在'cd ../../../../'。是否有一个命令/别名可以让我进入“cmd 4”而我会被收回 4 个目录?
在 bash 脚本中,我如何说“对于 .png 或 .PNG 类型的所有文件”?
我想 :
for i in (`ls *.PNG` && `ls *.png`)
Run Code Online (Sandbox Code Playgroud)
但是出现语法错误。
我正在解析 ntpq 输出以通过控制台实用程序将其内容传递到我们的数据库。第一个元素是一个包含远程状态的单字符子字符串。它可以是“*”、“+”、“o”、“#”等。我最好把它作为数字放到数据库中,这样存储过程就可以很容易地保存它,但我不知道,如何将字符转换为 bash 中的 ASCII 表示。
我已经检查过这个,但是提供的解决方案对我不起作用。
使用 date 我可以获得以秒为单位的执行时间:
T="$(date +%s)"
#some work here
T="$(($(date +%s)-T))"
echo "execution time (secs) ${T}"
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这样做时:
T="$(date +%s%N)"
#some work here
T="$(($(date +%s%N)-T))"
Run Code Online (Sandbox Code Playgroud)
将 %N(如上)添加到日期以获得纳秒精度我得到以下错误:-bash: 1369320760N: value too great for base (error token is "1369320760N")
有谁知道如何在 Mac OS X 下使用 bash 测量以毫秒为单位的执行时间?
-bash列出我机器上本地安装的所有软件包的命令是什么?
我正在使用 osX。
到目前为止,我尝试了以下方法:
dpkg -l - 不起作用。apt --installed list - 不起作用。pkgutil --pkgs- 仅列出使用 Apple 安装程序安装的那些。我需要所有安装了npm.npm list - 作品。npm list -g --depth=0 - 作品。ls `npm root -g` - 作品。我知道诸如how-to-make-mouse-wheel-scroll-the-less-pager-using-bash-and-gnome-terminal 之类的答案,即-X从 $LESS 环境变量中删除标志。但我想同时做这两件事:
-X$LESS-X到 来完成$LESS)。有什么办法可以让我的蛋糕也吃掉吗?
Linux(例如Ubuntu)终端,有没有办法得到最后一行?假设我随机输入一个td命令,该命令尚未安装在我的系统上,因此我会收到如下消息。我想有一个“捷径”来sudo apt-get install textdraw快速运行。
有没有这样的工具,或者如何在不使用鼠标的情况下将最后一行复制到剪贴板?
username@WorkStation:~$ td
The program 'td' is currently not installed. You can install it by typing:
sudo apt-get install textdraw
username@WorkStation:~$
Run Code Online (Sandbox Code Playgroud)