标签: bash

检查Bash shell脚本中是否存在输入参数

我需要检查输入参数是否存在.我有以下脚本

if [ "$1" -gt "-1" ]
  then echo hi
fi
Run Code Online (Sandbox Code Playgroud)

我明白了

[: : integer expression expected
Run Code Online (Sandbox Code Playgroud)

如何首先检查输入参数1以查看它是否存在?

bash shell

1223
推荐指数
9
解决办法
113万
查看次数

sh和bash之间的区别

在编写shell程序时,我们经常使用/bin/sh/bin/bash.我经常使用bash,但我不知道它们之间有什么区别.

bash和之间的主要区别是sh什么?

我们究竟需要意识到在编程时bashsh

unix bash shell sh

1194
推荐指数
11
解决办法
46万
查看次数

创建一个带参数的Bash别名?

我以前使用CShell(),它允许你创建一个带参数的别名.符号是这样的

alias junk="mv \\!* ~/.Trash"
Run Code Online (Sandbox Code Playgroud)

在Bash中,这似乎不起作用.鉴于Bash有许多有用的功能,我会假设这个功能已经实现,但我想知道如何.

bash alias

1164
推荐指数
18
解决办法
48万
查看次数

如何在Bash中将字符串转换为小写?

有一种方法可以将字符串转换为小写字符串吗?

例如,如果我有:

a="Hi all"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

"hi all"
Run Code Online (Sandbox Code Playgroud)

string bash shell lowercase uppercase

1158
推荐指数
20
解决办法
83万
查看次数

什么是首选的Bash shebang?

有没有什么Bash家当客观上比其他大多数应用更好?

  • #!/usr/bin/env bash
  • #!/bin/bash
  • #!/bin/sh
  • #!/bin/sh -
  • 等等

我很清楚地回忆起很久以前的一次听说,在最后添加一个破折号可以防止有人将命令传递给你的脚本,但却无法找到任何细节.

bash shebang

1051
推荐指数
5
解决办法
42万
查看次数

shell脚本中的YYYY-MM-DD格式日期

我尝试$(date)在我的bash shell脚本中使用,但是我想要YYYY-MM-DD格式的日期.我怎么得到这个?

bash shell date strftime

1045
推荐指数
15
解决办法
133万
查看次数

echo输出到stderr

是否有一个标准的Bash工具,它像echo一样输出到stderr而不是stdout?

我知道我能做到,echo foo 1>&2但它有点难看,而且我怀疑,容易出错(例如,当事情发生变化时更容易被编辑错误).

bash

1026
推荐指数
14
解决办法
51万
查看次数

如何计算文档中的行?

我有这样的线条,我想知道我实际上有多少行......

09:16:39 AM  all    2.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   94.00
09:16:40 AM  all    5.00    0.00    0.00    4.00    0.00    0.00    0.00    0.00   91.00
09:16:41 AM  all    0.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:42 AM  all    3.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:43 AM  all    0.00    0.00    1.00    0.00    1.00    0.00    0.00    0.00   98.00
09:16:44 AM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
09:16:45 AM  all    2.00    0.00    6.00    0.00 …
Run Code Online (Sandbox Code Playgroud)

linux bash scripting command-line

994
推荐指数
15
解决办法
125万
查看次数

如何指定在Git上执行shell命令时使用的私有SSH密钥?

也许是一个相当不寻常的情况,但我想指定一个私有SSH密钥,以便在从本地计算机执行shell(git)命令时使用.

基本上是这样的:

git clone git@github.com:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"
Run Code Online (Sandbox Code Playgroud)

甚至更好(在Ruby中):

with_key("/home/christoffer/ssh_keys/theuser") do
  sh("git clone git@github.com:TheUser/TheProject.git")
end
Run Code Online (Sandbox Code Playgroud)

我见过使用Net :: SSH连接到远程服务器的示例,它使用指定的私钥,但这是一个本地命令.可能吗?

git ssh bash shell

963
推荐指数
25
解决办法
95万
查看次数

如何在单引号字符串中转义单引号?

比方说,你有一个alias像bash 一样:

alias rxvt='urxvt'
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.

然而:

alias rxvt='urxvt -fg '#111111' -bg '#111111''
Run Code Online (Sandbox Code Playgroud)

不会起作用,也不会:

alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\''
Run Code Online (Sandbox Code Playgroud)

那么,一旦转义了引号,你最终如何在字符串中匹配开头和结尾的引号?

alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\''
Run Code Online (Sandbox Code Playgroud)

看起来很笨拙虽然如果你允许这样连接它们就会代表相同的字符串.

syntax bash quoting

936
推荐指数
15
解决办法
40万
查看次数

标签 统计

bash ×10

shell ×5

alias ×1

command-line ×1

date ×1

git ×1

linux ×1

lowercase ×1

quoting ×1

scripting ×1

sh ×1

shebang ×1

ssh ×1

strftime ×1

string ×1

syntax ×1

unix ×1

uppercase ×1