我有一个系统,我只能login到我的用户名(myuser),但我需要以其他用户(scriptuser)运行命令。 到目前为止,我已经拿出以下来运行我需要的命令: ssh -tq myuser@hostname "sudo -u scriptuser bash -c \"ls -al\"" 但是,如果我尝试运行一个更复杂的命令,比如[[ -d "/tmp/Some directory" ]] && rm -rf "/tmp/Some directory"我很快就会遇到引用问题。 我不知道我怎么能通过这个例子复杂的命令bash -c ,当\"已经界定了我传递的命令的边界(所以我不知道如何引用/ tmp /某些目录,这包括一个空格。 是否有一个通用的解决scheme可以让我通过任何命令,无论引用是多么复杂/疯狂,还是这种限制,我已经达到了? 还有其他可能的,也许更可读的解决scheme?
通常,在使用mysqldump命令转储MySQL数据库之后,我会立即tar / gzip结果文件。 我正在寻找一种方法来做到这一点在一个命令: 所以从这个: mysqldump dbname -u root -p > dbname.sql tar czvf dbname.sql.tgz dbname.sql rm dbname.sql 像这样的东西: mysqldump dbname -u root -p > some wizardry > dbname.sql.tgz 甚至更好(因为我通常scp'ing转储文件到另一台服务器): mysqldump dbname -u root -p > send dbname.sql.tgz to user@host 我在debian上运行bash。
检查卷是否安装在Bash脚本中的最佳方法是什么? 我真的很喜欢这样一种方法,我可以这样使用: if <something is mounted at /mnt/foo> then <Do some stuff> else <Do some different stuff> fi
如何确保我的Bash安装在更新后不再受到ShellShock错误的威胁 ?
睡眠是一个非常stream行的命令,我们可以从1秒开始睡觉: # wait one second please sleep 1 但是如果我只需要等待0.1秒或者0.1秒到1秒之间的话,还有什么select呢? 备注:在linux上sleep 0.XXX工作正常,但在solaris sleep 0.1或sleep 0.01 – 非法语法
有没有办法使bash以红色显示stderr消息?
.profile , .bash_profile和.bashrc文件之间的function差异是什么?
当我有dircolors定义生活充满…颜色。 当我通过less滚动滚动我失去了颜色。 有什么build议么?
有没有办法运行一个命令(例如ps aux|grep someprocess ) n次? 就像是: run -n 10 'ps aux|grep someprocess' 我想交互使用它,请不要发布脚本。 更新:我问这个问题的原因是,我在很多机器上工作,而且我不想将所有的脚本等导入到每个机器中,以便在每台机器上获得相同的function。
我想打开一个会积累你的Linux命令行(CLI)最佳实践和技巧的讨论。 我已经search了这样的讨论分享下面的评论,但没有find一个,因此这个职位。 我希望大家都能从中吸取教训。 欢迎您分享您的Bash提示,grep,sed,AWK,/ proc以及所有其他相关的Linux / Unix系统pipe理,shell编程的最佳实践,以利于我们大家。