Questions tagged «sh»

从版本7 Unix开始,sh是标准的Unix shell。POSIX具有基于Bourne Shell的标准化Shell行为,并且可移植Shell脚本应符合标准化语法。使用此标记可解决适用于Bourne / POSIX样式的壳的问题。对于具有错误的Shell脚本,请在此处发布之前在http://shellcheck.net中对其进行检查。

11
如何在不使用“ sh”或“ bash”命令的情况下运行shell脚本?
我有一个要运行的shell脚本,而无需使用“ sh”或“ bash”命令。例如: 代替: sh script.sh 我要使用: script.sh 我怎样才能做到这一点? PS(i)我不太使用shell脚本,并且尝试阅读有关别名的信息,但是我不了解如何使用它们。 (ii)我还阅读了有关将脚本与PATH变量中的另一个文件链接的信息。我正在使用大学服务器,但没有在这些位置创建文件的权限。
261 bash  shell  alias  sh 



3
Ubuntu说“ bash:./program权限被拒绝”
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我在计算机1和计算机2上运行Ubuntu。在计算机1上编译了C ++程序,可以使用终端从终端执行它./program_name。运行正常。 但是,当我尝试在计算机2上执行此操作时,它说: bash: ./program_name: permission denied 有什么问题,我该怎么办?
205 bash  shell  sh 

7
使用sh shell比较字符串
我正在使用SH Shell,并且尝试将字符串与变量的值进行比较,但if条件始终执行为true。为什么? 这是一些代码: Sourcesystem="ABC" if [ "$Sourcesystem" -eq 'XYZ' ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi; echo Sourcesystem Value is $Sourcesystem ; 即使这不起作用: Sourcesystem="ABC" if [ 'XYZ' -eq "$Sourcesystem" ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi; echo Sourcesystem …
197 shell  unix  sh 

3
在bash heredoc中使用变量
我正在尝试在bash heredoc内插变量: var=$1 sudo tee "/path/to/outfile" > /dev/null << "EOF" Some text that contains my $var EOF 这没有按我期望的那样工作(按$var字面意义处理,未扩展)。 我需要使用,sudo tee因为创建文件需要sudo。做类似的事情: sudo cat > /path/to/outfile <<EOT my text... EOT 不起作用,因为>outfile在当前外壳中打开了文件,该外壳未使用sudo。
192 bash  variables  sh  heredoc 


6
在while循环内修改的变量不被记住
在下面的程序中,如果我$foo在第一条if语句中将变量设置为值1 ,则它的工作方式是在if语句之后记住其值。但是,当我将相同的变量设置if为while语句内部的值2时,在while循环后将其忘记。就像我$foo在while循环中使用某种形式的变量副本,而我只修改该特定副本一样。这是一个完整的测试程序: #!/bin/bash set -e set -u foo=0 bar="hello" if [[ "$bar" == "hello" ]] then foo=1 echo "Setting \$foo to 1: $foo" fi echo "Variable \$foo after if statement: $foo" lines="first line\nsecond line\nthird line" echo -e $lines | while read line do if [[ "$line" == "second line" ]] …
186 bash  while-loop  scope  sh 

8
Git Alias-多个命令和参数
我正在尝试创建一个使用多个Git命令和位置参数的别名。每个页面都有Stackoverflow页面,这两个页面看起来很痛苦,但我遇到了麻烦。 例如,我想切换到分支foo并执行状态。所以在我中.gitconfig,我有: [alias] chs = !sh -c 'git checkout $0 && git status' 这不起作用。而类似的东西会起作用。 chs = !sh -c 'git checkout $0' echoes = !sh -c 'echo hi && echo bye' 任何见识将不胜感激。
181 git  sh  alias  git-alias 



4
用xargs调用shell函数
我正在尝试使用xargs并行调用一个更复杂的函数。 #!/bin/bash echo_var(){ echo $1 return 0 } seq -f "n%04g" 1 100 |xargs -n 1 -P 10 -i echo_var {} exit 0 这将返回错误 xargs: echo_var: No such file or directory 任何有关如何使用xargs来完成此操作的想法,或者任何其他解决方案都将受到欢迎。
168 bash  sh  xargs 

12
在sh shell中找不到源命令
我有一个使用shshell 的脚本。在使用source命令的行中出现错误。似乎source没有包含在我的sh外壳中。 如果我明确尝试source从shell 运行,则会得到: sh: 1: source: not found 我应该以某种方式安装“源代码”吗?我的版本是否错误sh?
146 bash  shell  sh 

10
如何在Shell脚本中删除文件名的扩展名?
以下代码有什么问题? name='$filename | cut -f1 -d'.'' 照原样,我得到了文字字符串$filename | cut -f1 -d'.',但是如果删除引号,我什么也得不到。同时,输入 "test.exe" | cut -f1 -d'.' 在shell中给我想要的输出test。我已经知道$filename已经分配了正确的值。我想要做的是将没有扩展名的文件名分配给变量。
144 bash  shell  sh  cut  gnu-coreutils 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.