小编svl*_*sov的帖子

如何检查当前运行的shell是否为BusyBox

我试过不同的变种

echo $0
echo $shell
echo $SHELL
ps -p $$
Run Code Online (Sandbox Code Playgroud)

但是没有一个能给出独特的输出.我可以做这样的事情,但它是丑陋和hackish:

if ls --help 2>&1 | grep BusyBox; then
    echo "it is BusyBox"
else
    echo "it is NOT BusyBox"
fi
Run Code Online (Sandbox Code Playgroud)

linux shell busybox

5
推荐指数
1
解决办法
2281
查看次数

无法覆盖变量,因为它是只读的

我正在努力学习Powershell.我有以下脚本:

$cmd = {
  param($pid)
  Write-Host $pid
}

$processes = Get-Process -Name notepad
foreach ($process in $processes) 
{ 
    $pid = $process.ID
    Start-Job -ScriptBlock $cmd -ArgumentList $pid
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

无法覆盖变量PID,因为它是只读或常量.在行:7 char:1 + $ pid = 1 + ~~~~~~~~ + CategoryInfo:WriteError:(PID:String)[],SessionStateUnauthorizedAccessException + FullyQualifiedErrorId:VariableNotWritable无法覆盖变量PID,因为它是只读的或不变.在行:11 char:1 + $ pid = $ process.ID + ~~~~~~~~~~~~~~~~~~ + CategoryInfo:WriteError:(PID:String)[],SessionStateUnauthorizedAccessException + FullyQualifiedErrorId :VariableNotWritable Start-Job:无法覆盖变量pid,因为它是只读或常量.在行:12 char:5 + Start-Job -ScriptBlock $ cmd -ArgumentList $ pid

我在这做错了什么?

windows powershell

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

Autodesk Maya模型面板调整大小事件

我正在为Maya编写一个简单的工具菜单,我想将它粘贴到模型面板的边框(透视图).

from PySide import QtCore, QtGui
from maya import OpenMayaUI as omui
from shiboken import wrapInstance

class TestWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent = self.getMayaWindow())

        self.setWindowFlags(QtCore.Qt.Tool | QtCore.Qt.FramelessWindowHint)
        self.setFixedSize(100, 100)

        panelPtr = omui.MQtUtil.findControl('modelPanel4')
        panel = wrapInstance(long(panelPtr), QtGui.QWidget) 

        position =  panel.mapToGlobal(panel.pos())
        self.move(position.x(), position.y() + panel.geometry().height() / 2 - self.geometry().height() / 2)

        mainLayout = QtGui.QVBoxLayout(self)

        button = QtGui.QPushButton('CLOSE')
        button.setFixedSize(80, 80)
        button.clicked.connect(self.deleteLater)

        mainLayout.addWidget(button)

    def getMayaWindow(self):
        omui.MQtUtil.mainWindow()    
        ptr = omui.MQtUtil.mainWindow()
        return wrapInstance(long(ptr), QtGui.QWidget)

w = TestWidget()
w.show()
Run Code Online (Sandbox Code Playgroud)

主窗口小部件在创建时正好位于我想要的位置(水平位于模型面板的左侧,垂直位于模型面板的中间).

我需要在调整模型面板大小时重新定位它,但模型面板不会发出resized()信号.我很感激任何建议.

qt resize pyqt maya pyside

5
推荐指数
1
解决办法
909
查看次数

Qt drawLine 宽度为 1

我正在编写一个 CAD 程序,我发现了一个奇怪的错误,长话短说,以下代码显示了这个错误:

p.setPen(QPen(Qt::white, 3));
p.drawLine(410.738, 364.399, -63151.2, -63197.6);
p.setPen(QPen(Qt::cyan, 1));
p.drawLine(410.738, 364.399, -63151.2, -63197.6);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

虽然起点和终点坐标完全相同,但这两条线的斜率不同(第一条线斜率正确,青色线不正确)。有什么建议吗?

PS:我使用 Qt 4.72

graphics qt

3
推荐指数
1
解决办法
8937
查看次数

当使用*键搜索时,如何在vim中使冒号成为单词边界

当选择*按键或选择Shift + 8class::method整个事物这样的单词进行搜索时.有没有办法配置vim来说明我的光标是否在word方法上,我点击*键只选择冒号,所以它看起来像class :: method

vim

3
推荐指数
1
解决办法
506
查看次数

当'let'表达式求值为0时,为什么Bash with -e选项会退出?

我很难理解为什么bash -e选项退出此脚本.只有在计算的表达式给出时才会发生0:

#!/bin/bash
set -ex
table_year=( 1979 1982 1980 1993 1995 )
year=$1 
let indice=year-1
real_year=${table_year[$indice]}
echo OK $real_year
Run Code Online (Sandbox Code Playgroud)

是的还可以:

./bash_test_array 2
Run Code Online (Sandbox Code Playgroud)

但不是在:

./bash_test_array 1 
Run Code Online (Sandbox Code Playgroud)

indice这种情况等于0.为什么-e选项导致退出?

bash arithmetic-expressions

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

2 个 4x4 矩阵之间的插值

对于使用 colladas 的骨骼动画,我需要在 2 个矩阵之间进行线性插值。我在某处看到我可以使用四元数在矩阵之间进行插值,但这仅适用于旋转分量,而且我还需要保留变换。这是我的代码,除了翻译部分外,它都有效:

float total = (orderedBones[i]->Animation->keyFrames[nextKeyFrame] - orderedBones[i]->Animation->keyFrames[nextKeyFrame - 1]) * 100.0;
float progress = orderedBones[i]->Animation->accumTime - orderedBones[i]->Animation->keyFrames[nextKeyFrame - 1] * 100.0;
float interpolation = progress / total;

glm::quat firstQuat = glm::quat_cast(orderedBones[i]->Animation->Matrices[nextKeyFrame - 1]);
glm::quat secondQuat = glm::quat_cast(orderedBones[i]->Animation->Matrices[nextKeyFrame]);
glm::quat finalQuat = glm::slerp(firstQuat, secondQuat, interpolation);

orderedBones[i]->Animation->interpoltaedMatrix = glm::mat4_cast(finalQuat);
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点吗?

interpolation matrix quaternions

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

将字符串作为输入并将它们存储在C中的字符数组中

我很难理解如何在C中的数组中存储字符串,每个字符分开保存.作为一个示例,如果用户输入hellop,我希望将其存储给定的阵列中,发言权userText,与userText[0] = h,userText[1] = e,userText[2] = l,等.我知道这很容易,但我还是新手.所以,如果有人能提供帮助,那就太好了.请解释如何使用指针执行此操作.

#include<stdio.h>
void main()
{
    char a[10],c;
    int i=0;
    while((c=getchar())!='\n')
    {
        scanf("%c",&a[i++]);
        c=getchar();
     }
     for(i=0;i<11;i++)
         printf("%c",a[i]);
}
Run Code Online (Sandbox Code Playgroud)

eoeoeoeo\363当我输入时,程序输出一些垃圾值()hellop.

c

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