首先,我阅读了许多帖子(见下文),if-clauses在文件中搜索特定字符串,并按照这些帖子1到1进行操作,但是我无法让我的脚本工作。如果它还不存在,我想在/etc/fstab
中输入一个条目:
#!/bin/bash
fstab=/etc/fstab
if grep -q "poky-disc" "$fstab"
then
echo "#poky-disc" >> /etc/fstab
echo "/dev/sdb1 /media/poky ext4 defaults 0 2" >> /etc/fstab
else
echo "Entry in fstab exists."
fi
提前感谢您的帮助。这些是类似的帖子,它们对我没有任何帮助:
答案 0 :(得分:1)
#!/bin/bash
fstab=/etc/fstab
if [[ $(grep -q "poky-disc" "$fstab") ]]
# forgiving me for being a bit of over-rigorous, you might want to change this matching word, as below, 'poky-disc' merely a comment, not exactly a config line, so
then
echo "#poky-disc" >> /etc/fstab
echo "/dev/sdb1 /media/poky ext4 defaults 0 2" >> /etc/fstab
else
echo "Entry in fstab exists."
fi
答案 1 :(得分:0)
优雅而简短的方式:
#!/bin/bash
if ! grep -q 'init-poky' /etc/fstab ; then
echo '# init-poky' >> /etc/fstab
echo '/dev/sdb1 /media/poky ext4 defaults 0 2' >> /etc/fstab
fi
它使用本地Bash命令退出代码($?= 0表示成功,> 0表示错误代码),如果grep产生错误,表示未找到,它将对结果进行反(!),并添加fstab条目。
答案 2 :(得分:0)
这是一个简单的希望是惯用的解决方案。
g = d.groupby(['name', 'col2'])['col3'].cumcount()
d = (d.set_index(['name', 'col2', g])['col3']
.unstack(1)
.reset_index(level=1, drop=True)
.reset_index()
.rename_axis(None, axis=1))
print (d)
name acct1 law
0 bil a b
1 bil c d
2 jim e f
3 jim g h
如果从grep -q 'init-poky' /etc/fstab ||
printf '# init-poky\n/dev/sdb1 /media/poky ext4 defaults 0 2\n' >> /etc/fstab
退出的状态是grep -q
,请执行false
。 printf
的速记可以拼写为
||
许多初学者并没有意识到if grep -q 'ínit-poky' /etc/fstab; then
: nothing
else
printf ...
fi
的参数是一个命令,其退出状态确定将采用if
分支还是then
分支。
答案 3 :(得分:0)
我有同样的问题。我设法使用以下命令对其进行了编辑:
import React from 'react'
import ReactDataSheet from 'react-datasheet'
import EditorDialog from './EditorDialog'
export default class Datasheet extends React.Component {
constructor(props) {
super(props)
this.state = {
editorProps: null,
grid: [[{ value: 1 }, { value: 3 }], [{ value: 2 }, { value: 4 }]]
}
}
handleDataEditor: Function = editorProps => {
this.setState({ editorProps })
if (!editorProps) {
return null
}
return <span>{editorProps.value}</span>
}
render() {
return (
<>
<ReactDataSheet
data={this.state.grid}
// ...
dataEditor={this.handleDataEditor}
/>
<EditorDialog {...editorProps} onClose={this.handleDataEditor} />
</>
)
}
}