小编McB*_*McB的帖子

我试图将MAC地址作为Linux中的变量,但它很少有效

我正在使用以下代码将eth0的MAC地址转换为用于文件名的变量,但很少有人都可以使用.它不是永远不会工作,它是不可预测的.

ntpdate -b 0.centos.pool.ntp.org
DATE=$(date +%s)
MAC=$(ifconfig eth0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' | sed 's/://g')
cp logfile logfilecp-$MAC-$DATE
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用ntpdate行,它似乎工作频率较低,但无论如何,它完全不可预测.任何人都知道我能做些什么才能使这项工作变得更好?我最终得到了一个文件名

logfile--1375195808.bz2
Run Code Online (Sandbox Code Playgroud)

新信息

我已经将脚本设置为cronjob(crontab -e)运行.我注意到当它作为cronjob运行时,它不会获得MAC,但是当我手动运行时./runscript.bash它确实获得了MAC.希望有人知道为什么这可能导致它.

谢谢.

bash angstrom-linux

8
推荐指数
2
解决办法
1万
查看次数

.each没有在数组上工作.但.isArray返回true?

我创建了一个包含一些项目的对象,包括一个包含多个对象的对象,每个对象都包含一个数组.以下是它的结构.

$.myVar = {
    cp : "",
    ps : {
        m1 : ["001", "002", "003"],
        m2 : ["002", "004"]
    }
};
Run Code Online (Sandbox Code Playgroud)

我的脚本一直在崩溃说$ .myVar.ps ["m1"]每个都没有方法.

当我进入Chrome的控制台进行调查时,我运行以下内容并获取显示的输出.

$.myVar.ps["m1"]
["001", "002", "003"]
$.myVar.ps["m1"].each( function (i, p) {alert(i)})
TypeError: Object 001,002,003 has no method 'each'
Run Code Online (Sandbox Code Playgroud)

此外,如果我运行以下内容,它证明m1是一个数组.

$.isArray($.myVar.ps["m1"])
true
Run Code Online (Sandbox Code Playgroud)

所以似乎同意m1是一个数组,但它拒绝这样对待它.知道我做错了什么吗?

javascript arrays jquery object

5
推荐指数
2
解决办法
6574
查看次数

/me/memberOf 显示用户是其“嵌套”成员的组

我正在尝试使用 Microsoft Graph API 来整理应用程序中的菜单。例如,我有一个链接A,要求用户成为名为 的安全组的一部分graphsec_A

这是一个 Node 应用程序,因此我调用/me/memberOf并返回一个对象数组,我可以过滤这些对象以查看是否displayNameequals graphsec_A

如果我直接将用户添加到组中,则当我以这种方式检查时它会起作用。然而,就我而言,我想将整个部门添加到该组中(以及其他一些部门和个人)。当我将组添加到 时graphsec_A,该成员身份不会在 中返回/me/memberOf

我尝试过摆弄$expand,但我似乎无法让它工作,但显示用户所属的所有组的扩展版本。

有什么方法可以使这项工作无需单独添加每个人?

microsoft-graph-api

4
推荐指数
1
解决办法
1779
查看次数

VBA中的条件格式,基于函数

我在Excel中有一些(半)复杂的条件格式.我可以使用菜单工作没有问题,但我想以编程方式进行,因为我希望它应用于多个工作表(复制,粘贴格式不起作用).

我在设置CF以获取代码时尝试录制宏,但它不记录该类型的条目.

以下是我正在应用的规则,目前在以下范围内:= $ 1:$ 65536

=OR(COLUMN()=1,COLUMN()=2,ISBLANK($B1))
=AND(LEFT($A1,6)="Base (",A1>100)
=AND(LEFT($A1,6)="Base (",A1>=75,A1<=100)
=AND(LEFT($A1,6)="Base (",A1>=50,A1<75)
=AND(LEFT($A1,6)="Base (",A1<50)
=$B1-9.999  (current cell is less than this value)
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,我可以通过将整个列从一个工作表复制到另一个工作表来手动复制,但是我不能将它复制到所有工作表中,我想找到一种方法将其作为宏来实现它所以它可以很容易应用于新的工作簿(往往有10-15张).

excel vba conditional-formatting

2
推荐指数
1
解决办法
2114
查看次数

阅读PHP中的Amazon Cloudfront API结果

我有一个PHP脚本,通过API向亚马逊的Cloudfront提交Invalidation请求.

我可以捕获响应,但它返回的文本基本上看起来像这样:

HTTP/1.0 201 Created
Content-Type: text/xml
Location: https://cloudfront.amazonaws.com/2012-07-01/distribution/distribution ID/invalidation/invalidation ID

<Invalidation xmlns="http://cloudfront.amazonaws.com/doc/2012-07-01/">
   <Id>IDFDVBD632BHDS5</Id>
   <Status>InProgress</Status>
   <CreateTime>2013-04-16T19:37:58Z</CreateTime>   
   <InvalidationBatch>
      <Paths>
         <Items>
            <Path>/image1.jpg</Path>
         </Items>
      </Paths>
      <CallerReference>20130416090001</CallerReference>
   </InvalidationBatch>
</Invalidation>
Run Code Online (Sandbox Code Playgroud)

我基本上只想获取状态值,我想我可以通过Regex或一些字符串操作来实现,但我假设有一种更好的方法将返回的数据转换为对象并正确访问它.

我试过了:

$dom = new DOMDocument();
$dom->loadXML($data);
Run Code Online (Sandbox Code Playgroud)

但$ data不起作用,因为它实际上包含标题部分"HTTP/1.0 201 ......"

有人知道处理这个问题的正确方法吗?

php api amazon-web-services

2
推荐指数
1
解决办法
1506
查看次数

使用 Recoil 创建和读取数千个项目的状态

我刚刚开始在一个新项目中使用 Recoil,我不确定是否有更好的方法来完成此任务。

我的应用程序是一个界面,用于基本上编辑包含对象数组的 JSON 文件。它读取文件,根据特定属性将对象分组到选项卡中,然后用户可以导航选项卡,查看每个选项卡的数百个值,进行更改,然后保存更改。

我使用反冲是因为它允许我从应用程序中的任何位置访问每个输入的状态,这使得保存更容易 - 理论上......

为了为 JSON 文件中的每个对象生成状态,我创建了一个返回的组件,null并映射初始数组,创建该组件,该组件使用 AtomFamily 创建 Recoil 状态,然后还将 ID 保存到另一块反冲状态,这样我就可以保留所有内容的清单。

问题 1这是更好的方法吗?该null组件感觉不太对劲,但是将整个数组存储在单个状态中会导致每次按键时重新渲染所有内容

为了保存数据,我有一个调用函数的按钮。该函数只需要获取 ID,循环遍历它们,获取每个 ID 的状态,然后将它们推送到数组中。我也使用选择器完成了此操作,但问题是由于 Hooks 规则,我无法从函数中调用 getRecoilValue - 但如果我将该值提供给父组件,它会再次减慢一切。

问题 2我很确定我缺少考虑存储状态和使用挂钩的正确方法,但我还没有找到此特定用例的任何示例 - 需要预先生成状态,然后访问所有状态再次单击“保存”。有什么指导吗?

reactjs react-hooks recoiljs

2
推荐指数
1
解决办法
4837
查看次数