相关疑难解决方法(0)

漂亮的git分支图

我已经看到一些书籍和文章有一些非常漂亮的git分支和提交图.如何制作git历史的高质量可打印图像?

git git-log

1290
推荐指数
33
解决办法
65万
查看次数

如何从Bash变量中修剪空格?

我有一个包含以下代码的shell脚本:

var=`hg st -R "$path"`
if [ -n "$var" ]; then
    echo $var
fi
Run Code Online (Sandbox Code Playgroud)

但条件代码总是执行,因为hg st始终打印至少一个换行符.

  • 是否有一种简单的方法可以从中删除空格$var(比如trim()PHP中)?

要么

  • 有没有一种标准的方法来处理这个问题?

我可以使用sedAWK,但我想有一个更优雅的解决方案来解决这个问题.

string variables bash trim

854
推荐指数
30
解决办法
124万
查看次数

如何将命令行参数传递给shell别名?

如何将命令行参数传递给别名?这是一个示例:

alias mkcd='mkdir $1; cd $1;'

但在这种情况下,$ xx将在别名创建时转换,而不是在运行时转换.但是,我创建了一个使用shell函数的解决方法(在googling之后),如下所示:

function mkcd(){
  mkdir $1
  cd $1
}

只是想知道是否有办法制作接受CL参数的别名.
顺便说一句 - 我使用'bash'作为我的默认shell.

shell alias

278
推荐指数
7
解决办法
19万
查看次数

在Bash中,如何在任何命令或别名中添加"你确定[Y/n]"吗?

在这个特殊情况下,我想在Bash中添加一个确认

Are you sure? [Y/n]

对于Mercurial来说hg push ssh://username@www.example.com//somepath/morepath,它实际上是一个别名.是否有可以添加到别名的标准命令来实现它?

原因是hg push并且hg out听起来很相似,有时当我想要时hgoutrepo,我可能会意外地输入hgpushrepo(两者都是别名).

更新:如果它可以像是带有另一个命令的内置命令,例如:confirm && hg push ssh://...那个很棒......只是一个可以请求a yes或者no继续其余命令的命令yes.

bash alias confirmation

211
推荐指数
6
解决办法
16万
查看次数

Unix列表命令'ls'可以输出数字chmod权限吗?

是否可以在列出目录时查看数字unix权限,例如644而不是符号输出-rw-rw-r--

谢谢.

unix permissions command-line

171
推荐指数
7
解决办法
10万
查看次数

在bash中将参数传递给别名

是否可以执行以下操作:

我想运行以下内容:

mongodb bin/mongod
Run Code Online (Sandbox Code Playgroud)

在我的bash_profile中我有

alias = "./path/to/mongodb/$1"
Run Code Online (Sandbox Code Playgroud)

bash shell .bash-profile

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

别名与bash中的变量

我想像这样创建一个别名bash:

alias tail_ls="ls -l $1 | tail"
Run Code Online (Sandbox Code Playgroud)

因此,如果有人输入:

tail_ls /etc/ 
Run Code Online (Sandbox Code Playgroud)

它只会显示目录中的最后10个文件.

$1似乎并不适合我.有什么办法可以在bash中引入变量.

linux bash

108
推荐指数
3
解决办法
8万
查看次数

RSync:如何在两个方向同步?

我想使用rsync 在两个方向上同步两个目录.

我指的是传统意义上的同步(不是 rsync手册中的含义):
我想在两个方向更新目录,具体取决于哪个更新.

这可以通过rsync完成(最好是以Linux方式)吗?
如果没有,还有其他解决方案吗?

linux rsync

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

带参数的ZSH别名

我正在尝试为我的简单git add/commit/push创建一个带参数的别名.

我已经看到函数可以用作别名所以我尝试但我没有成功..

在我之前:

alias gitall="git add . ; git commit -m 'update' ; git push"
Run Code Online (Sandbox Code Playgroud)

但我希望能够修改我的提交:

function gitall() {
    "git add ."
    if [$1 != ""]
        "git commit -m $1"
    else
        "git commit -m 'update'"
    fi
    "git push"
}
Run Code Online (Sandbox Code Playgroud)

(我知道这是一个可怕的git练习)

bash shell alias zsh zshrc

57
推荐指数
4
解决办法
3万
查看次数

为目录中的每个zip文件创建一个专用文件夹并解压缩zip文件

如果我选择一个zip文件并右键单击"在此处提取",则会创建一个包含zip文件名的文件夹,并将zip文件的整个内容提取到其中.

但是,我想通过shell转换几个zip文件.但是,当我这样做

unzip filename.zip
Run Code Online (Sandbox Code Playgroud)

该文件夹"filename"未创建,但所有文件都被解压缩到当前目录中.

我查看了参数,但没有这样的参数.我也试过了

for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done
Run Code Online (Sandbox Code Playgroud)

.zip必须使用sed删除2. $ zipfile和4. $ zipfile 的扩展名.如果我做

for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done 
Run Code Online (Sandbox Code Playgroud)

它不起作用.

如何正确更换.zip扩展名$zipfile

有没有比shell脚本更简单的方法?

linux shell awk sed unzip

48
推荐指数
4
解决办法
6万
查看次数