我可以将变量作为命令行参数传递给GNU Makefile吗?换句话说,我想传递一些最终会成为Makefile变量的参数.
是否可以检查bash脚本语法而不执行它?
使用Perl,我可以运行perl -c 'script name'.是否有针对bash脚本的等效命令?
该gcc -S选项将以AT&T语法生成汇编代码,有没有办法用Intel语法生成文件?或者有没有办法在两者之间进行转换?
今天我不得不使用这个basename()功能,而man 3 basename(这里)给了我一些奇怪的信息:
笔记
有两个不同版本的basename() - 上面描述的POSIX版本,以及GNU版本,后者可以使用
#define _GNU_SOURCE
#include <string.h>
我想知道这#define _GNU_SOURCE意味着什么:它是否污染了我用GNU相关许可证编写的代码?或者它只是用于告诉编译器类似" 嗯,我知道,这组函数不是POSIX,因此不可移植,但我还是想用它 ".
如果是这样,为什么不给人们不同的标题,而不是必须定义一些模糊的宏来获得一个函数实现或另一个?
有些东西也让我感到困惑:编译器如何知道哪个函数实现与可执行文件链接?它也使用这个#define吗?
有人有一些指示可以给我吗?
在Mac OS 10.10.3下,我通过输入以下命令安装了gnu-sed:
brew install gnu-sed --default-names
Run Code Online (Sandbox Code Playgroud)
当我再次输入时,我收到消息:
已经安装了gnu-sed-4.2.2
但是,即使重新启动系统并重新启动终端,我仍然无法使用sed的GNU版本.例如:
echo a | sed ’s_A_X_i’
Run Code Online (Sandbox Code Playgroud)
返回:替换命令'i'中的坏标志
我该怎么做才能让GNU版本正常工作?以下是$ PATH变量中的路径.
/Users/WN/-myUnix
/opt/local/bin
/opt/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/calibre.app/Contents/MacOS
/opt/ImageMagick/bin
/usr/texbin
Run Code Online (Sandbox Code Playgroud)
如果我的问题看起来很明显,我很抱歉,但我自己学习shell脚本,并且还不太了解UNIX程序的安装方式.任何帮助使用GNU兼容命令(在这种情况下sed,但很快我也需要其他人)在我的Mac上不会造成损害或不必要的混乱将非常感激.
背景:我的老板尝试使用公共和私有部分向我输出ASC密钥,但每当我收到文件时,私有部分永远不会加载,它不会解密任何文件.
我们尝试使用以下方法导出ASC密钥:
Windows应用程序GNU隐私助手(包含在gpg4win中)
Error: "Decryption failed. Secret Key Not available."
Run Code Online (Sandbox Code Playgroud)如何正确导出秘密或私有asc密钥来解密gpg文件?
我正在研究一个备份脚本,并想要建立一个文件目录:
tar czf ~/backup.tgz /home/username/drupal/sites/default/files
Run Code Online (Sandbox Code Playgroud)
这样可以解决这个问题,但是当我解压缩生成的文件时,它包含完整的文件结构:文件位于home/username/drupal/sites/default/files.
有没有办法排除父目录,以便生成的tar只知道最后一个目录(files)?
我有一个文本文件,包含如下内容:
12,34 EUR
5,67 EUR
...
Run Code Online (Sandbox Code Playgroud)
在'EUR'之前有一个空格,我忽略0,XX EUR.
我试过了:
grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' => didn't match !
grep '[1-9][0-9]*,[0-9]\{2\} EUR' => worked !
grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR' => worked !
grep '[1-9][0-9]*,[0-9]\{2\}\s[E]UR' => worked !
有人可以解释我请,我为什么不能用\s,但\s*和\s[E]匹配?
操作系统:Ubuntu 10.04,grep v2.5
我有一个包含多个文件的目录,其中一些文件的名称中有空格:
Test workspace/
Another directory/
file1.ext
file2.ext
demo 2012-03-23.odp
Run Code Online (Sandbox Code Playgroud)
我$(wildcard)在这个目录上使用GNU的命令,然后使用遍历结果$(foreach),打印出所有内容.这是代码:
FOO := $(wildcard *)
$(info FOO = $(FOO))
$(foreach PLACE,$(FOO),$(info PLACE = $(PLACE)))
Run Code Online (Sandbox Code Playgroud)
以下是我希望看到的内容:
Test workspace
Another directory
file1.ext
file2.ext
demo 2012-03-23.odp
Run Code Online (Sandbox Code Playgroud)
这是我真正得到的:
Test
workspace
Another
directory
file1.ext
file2.ext
demo
2012-03-23.odp
Run Code Online (Sandbox Code Playgroud)
后者对我来说显然毫无用处.该文档为$(wildcard)它返回一个"名字的空格分隔的名单",但完全平整出国家不承认这引起了巨大的问题.也不对文件进行$(foreach).
有可能解决这个问题吗?如果是这样,怎么样?重命名每个文件和目录以删除空格不是一个选项.