Tag: bash

如何从Bash中的pathstring中删除文件后缀和path部分?

给定一个string文件path如“/foo/fizzbuzz.bar”,我将如何使用bash来提取所述string的“fizzbuzz”部分?

YYYY-MM-DD格式的date在shell脚本中

我试着在我的bash shell脚本中使用$(date) ,但是我想用YYYY-MM-DD格式的date。 我如何得到这个?

为什么你需要把#!/ bin / bash放在脚本文件的开头?

我以前做过Bash脚本,一开始没有这个,它们都运行良好。 有什么意思呢? 会有什么不同? 另外,你如何发音# ? 我知道! 发音为“bang”。 #!怎么样#! 发音?

如何将stdout和stderrredirect到一个文件

我正在运行一个bash脚本来创build执行命令的日志文件 我使用以下 Command1 >> log_file Command2 >> log_file 这只发送标准输出而不是terminal上出现的标准错误。 我可以loggingstderr和stdoutlogging到文件吗?

shell命令中“&&”的用途是什么?

据我所知,在命令后面使用&是为了在后台运行它。 &使用示例: tar -czf file.tar.gz dirname & 但是&&怎么样? (看看这个例子: https : //serverfault.com/questions/215179/centos-100-disk-full-how-to-remove-log-files-history-etc#answer-215188 )

cronjob不执行独立工作的脚本

我有我的PHP脚本文件在/var/www/html/dbsync/index.php 。 当cd /var/www/html/dbsync/并运行php index.php它可以正常工作。 我想通过sh文件调用PHP文件,SH文件的位置如下 /var/www/html/dbsync/dbsync.sh 这是dbsync.sh文件的内容是: /usr/bin/php /var/www/html/dbsync/index.php >> /var/www/html/dbsync/myscript.log 2>&1 -q -f 当我cd /var/www/html/dbsync/并运行./dbsync.sh它也可以很好地工作。 现在,如果我设置如下的crontab: 1 * * * * /var/www/html/dbsync/dbsync.sh /var/www/html/dbsync 但是,这个crontab没有按预期工作。 什么可能是错的?

Tilde扩展在Bash中不起作用

假设我有一个名为Foo的文件夹位于/home/user/ (我的/home/user也由~表示)。 我想有一个variables a="~/Foo"然后做 cd $a 我得到-bash: cd: ~/Foo: No such file or directory 但是,如果我只是做cd ~/Foo它工作正常。 任何线索如何得到这个工作?

我怎样才能从“查找”中排除所有的“权限被拒绝”信息?

我需要隐藏所有权限被拒绝的消息: find . > files_and_folders 我正在试验这种信息何时出现。 我需要收集所有不会出现的文件夹和文件。 是否可以将权限级别指向files_and_folders文件? 我怎样才能同时隐藏错误?

pipe道到/从剪贴板

是否有可能pipe/从Bash剪贴板? 无论是从设备手柄进行pipe道连接还是使用辅助应用程序,我都找不到任何东西。 例如,如果/dev/clip是一个链接到剪贴板的设备,我们可以这样做: cat /dev/clip # Dump the contents of the clipboard cat foo > /dev/clip # Dump the contents of "foo" into the clipboard

sedsearch并replace包含/ 的string

我很难找出如何使用sed来search和replace文本文件/etc/myconfig包含/字符的string。 例如,在我现有的文本文件中,我有: myparam /path/to/a argB=/path/to/B xo 我想把这个换成: myparam /path/to/c argB=/path/to/D xo 我试图在bash中这样做: line='myparam /path/to/a argB=/path/to/B xo' line_new='myparam /path/to/c argB=/path/to/D xo' sed -i 's/$line/$line_new/g' /etc/myconfig 但没有任何反应。 尝试 grep -rn "$line" /etc/myconfig 虽然返回我'myparam /path/to/a argB=/path/to/B xo' 。 什么是正确的方式来expression我的sed命令来执行这个search和replace和正确处理/命令? (我认为我的string中的/字符是给我的问题,因为我用一个类似的sed命令来search和replace文本文件中的另一行没有问题,该行没有/字符。