Articles of unix

添加.env可变参数以运行给定的命令

我有一个.env文件中的variables就像这样: HELLO=world SOMETHING=nothing 有一天我发现了这个很棒的脚本,这些脚本将这些variables放到当前会话中,所以当我运行这样的东西的时候 $(cat ./.env | grep -v ^# | xargs) && node test 然后我可以访问test.js节点文件中的variables。 console.log(process.env.HELLO) console.log(process.env.SOMETHING) 问题在于,该命令将.envvariables放在整个会话中,所以当我运行node test而没有使用$(cat ./.env | grep -v ^# | xargs)后,它仍然可以访问对于这些variables,我正在编写一个node.jstesting来说明这些variables,我希望能够在没有这些.envvariables的情况下运行相同的命令,而不必担心它们是否仍在会话中。 理想情况下,我想跑 put-env-variables-for-this-command-first-command node test && node test 并且只有在testing脚本第一次运行时才能使用envvariables。

NServiceBus 2.0在Mono上运行并部署到* nix时的注意事项

NServiceBus是否与Mono兼容? 你在Mono上运行NServiceBus吗? 如果是的话,你遇到了什么问题? NServiceBus杠杆的默认MSMQ。 我知道这可以换成不同的传输技术,所以我会想象一个初始任务可能涉及从NServiceBus库实现提供的“IMessageQueue”接口(或沿着这些行的东西),利用跨平台或Unix特定的消息队列/运输技术。 相关问题:“ 如何换出NServiceBus 2.0中的MSMQ以获得不同的传输技术 ”

如何知道C程序的可执行文件是在前台还是后台运行的?

在我的C程序中,我想知道我的可执行文件是否像这样在前台运行 $./a.out 或者像这样 $./a.out &

找不到助推库

这是一个非常基本的问题,我只是张贴,因为我已经花了一些时间。 这是我迄今为止所做的: 下载并编译boost库: sudo ./bootstrap.sh和sudo ./bjam install 这样它就被安装到/usr/local/lib 。 在我的源代码中,我只添加了: #include <boost/asio.hpp> using boost::asio::ip::tcp 我编译它: g++ -I/usr/lib/jvm/java-6-openjdk/include -L/usr/local/lib -fPIC -lboost_system -shared -o libagent.so agent.cpp 但是, ldd -d ./libagent.so给我: libboost_system.so.1.46.1 => not found 但是,在使用-lboost_system和ls /usr/local/lib时,不会引发任何错误: libboost_system.so libboost_system.a 我错过了什么?

如何在Bash脚本中的AWK中传递string作为参数

我有一个文本文件,我想用awk过滤。 文本文件如下所示: foo 1 bar 2 bar 0.3 bar 100 qux 1033 我想用bash脚本中的awk过滤这些文件。 #!/bin/bash #input file input=myfile.txt # I need to pass this as parameter # cos later I want to make it more general like # coltype=$1 col1type="foo" #Filters awk '$2>0 && $1==$col1type' $input 但不知何故,它失败了。 什么是正确的方法来做到这一点?

你能解释一下这个sed单行吗?

下面的一个衬里反向打印出文件的内容 $ sed -n '1!G;h;$p' test.txt 当sed逐行读取文件时,怎么可能? 你能解释一下这个意思吗? 标志 1! G h 和$p 在这个命令?

如何保持与aria2目录结构?

我需要同时下载文件 – wget不支持,所以我想尝试aria2。 但是我没有在aria2中看到保留目录结构的选项。

为什么shell在后台进程中忽略SIGINT和SIGQUIT?

如果我在脚本或-c片段中背景进程,后台进程将忽略SIGINT和SIGQUIT: 例: $ alias ps='ps -o pid,ppid,pgrp,sid,stat,tty,ignored,blocked,caught,wchan,min_flt,pmem,args –forest' $ sh -c 'sleep 1000 & sleep 1000 | sleep 1000' & \ sleep 0.01; ps |grep -v -e ps -e grep PID PPID PGRP SID STAT TT IGNORED BLOCKED CAUGHT WCHAN MINFL %MEM COMMAND 6197 2143 6197 6197 Ss pts/28 0000000000380004 0000000000010000 000000004b817efb wait 10039 0.0 […]

如何在unix脚本中发送带有消息的邮件

新来unix和学习它的谈话和散步。 我在.ksh中写了一个脚本,并且要求发送一封包含消息的邮件。 目前在我的脚本中使用这个命令: mailx -s"File not found" abc@def.com 这个命令帮助我有一个主题和收件人的名字。 我的问题是,我怎样才能写一条消息。 因为每当我运行脚本暂停,并要求我input消息,然后执行,我想预先包含消息,以便脚本不会暂停之间。

使用tee命令将输出redirect到不存在的目录中的文件

我正在尝试使用tee命令将输出redirect到一个文件,并且我想要在尚未创build的目录中创build该文件。 date | tee new_dir/new_file 当new_dir不在那里时,tee命令失败 tee:new_dir / new_file:没有这样的文件或目录 如果在运行tee命令之前创buildnew_dir,那么它可以正常工作,但由于某种原因,我不想手动创buildnew_dir,是否可以使用tee命令创buildnew_dir?