标签: bash

如何在 bash 脚本中在单独的行中为每个标志添加注释?

我想编写尽可能自我记录的 bash 脚本。

我有一个想法,当我执行带有大量标志的软件时,我想将命令分成多行,并在每行末尾添加注释,说明标志的作用(来自手册页的信息),就像这样:

bwa aln \
-n $n \ # -n max #diff (integer) or missing prob under 0.02 err rate (float) [0.04]
-o $o \ # -o maximum number or fraction of gap opens [1]
-e $e \ # -e maximum number of gap extensions, -1 for disabling long gaps [-1]
-i $i \ # -i do not put an indel within integer bp towards the ends [5]
-d $d \ # -d maximum occurrences for extending a …
Run Code Online (Sandbox Code Playgroud)

bash command-line

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

你能在 bash 中用标志重复最后一个命令吗?

有没有办法用额外的标志重复你的最后一个命令?

例子:

说我这样做:

rm myFavouriteDirectory
Run Code Online (Sandbox Code Playgroud)

我会得到回复:

rm: myFavouriteDirectory/: is a directory
Run Code Online (Sandbox Code Playgroud)

显然我的意思是:

rm -rf myFavouriteDirectory
Run Code Online (Sandbox Code Playgroud)

有没有办法用标志!! -rf(这不起作用)重复最后一个命令

linux productivity bash command-line

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

查看所有过去的命令行活动/记录

有没有办法可以查看命令行的所有过去活动/记录,例如浏览器中的“历史”功能?

一点背景我使用 OSX 终端与命令行交互。

bash

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

启动一个进程 4 秒,然后杀死它的 Bash 脚本不起作用

我有一个脚本可以启动 Firefox 4 秒,然后杀死它。Firefox 会自动登录强制门户,所以只要 wifi 连接,我只需要打开它 4 秒钟。我在 Ubuntu 13.04 上。

我的问题似乎是没有设置 $pid 。

firefox ; pid=$!
sleep 4
kill $pid
Run Code Online (Sandbox Code Playgroud)

编辑:删除集,现在它给了一个无效的 pid。

linux bash captive-portal

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

如何在 bash 脚本中连接字符串、文件内容和字符串?

我有一个只包含一行的文件

$> cat file.txt
apple,orange,cat,dog
Run Code Online (Sandbox Code Playgroud)

我需要给它附加两个 String 并将它分配给一个变量,一个在前面,另一个在最后,这样它就变成了:

var=key,apple,orange,cat,dog,ending
Run Code Online (Sandbox Code Playgroud)

这样我就可以在其他地方使用 $var ...

我可以知道我怎么能在 bash 脚本中做到这一点吗?或者任何linux命令都可以做到这一点?谢谢。

linux bash string concatenation

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

检查脚本是否以 root 身份执行?

我有一个需要 root 权限的脚本。我必须通过 sudo 或从 uid 0 的帐户(例如 root)执行它。

如果脚本没有以足够的权限执行,那么我希望该脚本回显“以 Root 身份运行”并退出 1。

我怎样才能做到这一点?

unix root terminal privileges bash

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

计算pdf文件中的行数

如何计算pdf文件中的行数?最好从 linux 命令行 ( bash)?

pdf我要分析的s 是使用 LaTeX 生成的,因此任何在 tex 源上工作的解决方案都可以(只要结果与手动计算 pdf 时的结果相同,并且不会修改生成的 pdf)。

pdf bash latex

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

按向上箭头时 Bash 提示错误

我为我的 OS X 终端编写了这个漂亮而多彩的提示:

parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ [\1]/'
}

export PS1="\e]2;\w\a\e[1;30;1m\][\u@\[\033[0;36m\]\h\e[1;30;1m\]:\[\033[0;35m\]\w\e[1;30;1m\]] \[\033[0;31m\](\t) \[\033[0;33m\]\$(parse_git_branch)\n\[\033[0m\]\e[1;30;1m\]\$\[\e[0m\]"
Run Code Online (Sandbox Code Playgroud)

source ~/.bash_profile它,它工作正常。除了当我使用向上箭头浏览历史时,我会发生一件奇怪的事情。

基本上是source ~/.bash_profile历史命令的开头,成为提示的一部分。当我ctrl+center它恢复正常时,但只要我看到source命令的历史记录,提示就会再次更改。

这是我看过历史然后ctrl+u输入的示例ls

[user@host:~/Documents] (14:01:40)  [branch]
$source ~/.ls
Run Code Online (Sandbox Code Playgroud)

关于这个的任何线索?

bash macos

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

如何在鱼壳中运行 make && make install

我已经安装了fish shell,我对它非常满意......但我无法运行以下命令:

make && make install
Run Code Online (Sandbox Code Playgroud)

这在 bash 中工作得很好......我如何在鱼壳中运行它?

bash fish

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

Shell 脚本 bash:基于月份移动文件迭代

我对 shell 脚本知之甚少,但不幸的是我必须编写一个。我想问一下bash脚本迭代移动文件,我需要移动按月排序的日志文件,这些文件将由cronjob执行。计划是将 mtime +30(1 个月前)文件移动到几个文件夹中,cronjob 将每天执行,例如:

/home/Work/LogFiles/20131200012.log
/home/Work/LogFiles/thisLogIsDifferent.log
/home/Work/LogFiles/20120322222.log 
/home/Work/LogFiles/20140100011.log
/home/Work/LogFiles/thisLogIsDifferent2.log
Run Code Online (Sandbox Code Playgroud)

/home/Work/LogFiles/thisLogIsDifferent.log
/home/Work/LogFiles/thisLogIsDifferent2.log
/home/Work/LogFiles/2013/DEC/20131200012.log
/home/Work/LogFiles/2012/MAR/20120322222.log 
/home/Work/LogFiles/2014/JAN/20140100011.log
Run Code Online (Sandbox Code Playgroud)

我对我必须使用的方法一无所知。所以这是我糟糕的 shell 脚本:

BASE_DIR=/home/Work/LogFiles
REPORT_DIR_YEAR=$BASE_DIR/`date +%Y`
REPORT_DIR=$REPORT_DIR_YEAR/`date +%b`

NOW=$(date +"%Y%m")

if ! [ -d $REPORT_DIR_YEAR ]; then
    mkdir $REPORT_DIR_YEAR

    if ! [ -d $REPORT_DIR ]; then
        mkdir $REPORT_DIR
    fi
fi

#THIS PART NEED TO BE RE-ARRANGED
#What I expect is not date=NOW; BUT SOME KIND LIKE date %m-1? but I still don't have any ideas about modify date function.

for file …
Run Code Online (Sandbox Code Playgroud)

linux bash shell-script

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