当我cat或sed一个iOS可执行文件时,它总是中断,我得到以下消息:
$ 1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c
当我按Enter键时,我得到:
$ 1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c1;2c
-bash: 1: command not found
-bash: 2c1: command not found
-bash: 2c1: command not found
-bash: 2c1: command not found
-bash: 2c1: command not found
-bash:
我正试图将I say "Hello, World!"与bash -c相呼应。这是我尝试过的(其中一些):
$ bash -c "echo I say \"Hello, World"'!'"\""
$ bash -c "echo I say "'"'"Hello, World"'!'"\""
$ bash -c "echo I say """Hello, World""
我在这里发帖是因为我误解了一些关于bash globbing表达式的东西。我阅读了POSIX和这种特定类型的表达式(带有方括号的表达式)的定义,并在测试过程中进行了测试:
bash-3.2$ ls
a.out c.cou tab_maker.c
bash-3.2$ ls [!c-t]
ls: [!c-t]: No such file or directory
bash-3.2$ ls [!c-t]*
a.out
bash-3.2$ ls [!c-to]*
a.out
bash-3.2$ ls [!cv-to]*
a.out tab_maker.c
bash-3.2$
我试图在Windows上使用bash运行我的shell脚本,但是它说没有这样的文件。该文件确实存在(我是从命令行中检查的)
# Tried all of these, and they all fail
bash C:/Users/myuser/Testing/my_script.sh
bash /c/Users/myuser/Testing/my_script.sh
bash -c /c/Users/myuser/Testing/my_script.sh
bash C:\Users\myuser\Testing\my_script.sh
我只得到:
/bin/bash: c:/Users/
我试图更好地理解bash的-c选项。手册页上写着:
-c:如果存在-c选项,则从第一个非选项参数command_string读取命令。如果在command_string之后有参数,则将它们分配给位置参数,从$0开始。
我很难理解这意味着什么。
如果我使用或不使用bash -c执行以下命令,则得到相同的结果(例如来自):
$ set w x y z; IFS=":-;"; echo "$*"
w:x:y:z
$ bash -c 'set w x y z; IFS=":-;"; echo "$*"'
w:x:y
我正在尝试在我的构建管道中执行Bash脚本,该脚本在一个自托管代理上运行。我遇到的错误是: ##[section]Starting: Bash
==============================================================================
Task : Bash
Description : Run a Bash script on macOS, Linux, or Windows
Version : 3.148.2
Author : Microsoft Corporation
Help
我从https://unix.stackexchange.com/a/175845/674上读到一条命令
为什么
$ bash -c 'for f do echo "$f";done' bash a b c
a
b
c
输出与
$ bash -c 'for f in "$@"; do echo "$f";done' bash a b c
a
b
c
?
为什么for-循环不要求显式指定
循环变量的一组值,如in "$@"和
;?
谢谢。
相同的命令:echo 1 > filename创建不同的文件名:
$ sh -c 'echo $LANG >=с=.sh' && ls *.sh | od -c
0000000 = 321 = . s h \n
0000007
和
$ bash -c 'echo $LANG >=с=.bash' && ls *.bash | od -c
0000000 = 321 201 = . b a s h \n
0000012
其中с是U+0441字符- 。很明显,sh吃
当从Windows命令提示符在cygwin中运行bash脚本时,我总是在第1行得到一个错误,即使脚本正确运行
C:\ImageMagickWatchFolder>bash .\whitebalance
.\whitebalance: line 1: #!/bin/bash: No such file or directory
... (rest of script output)
(whitebalance是脚本的文件名)
我尝试用以下方式替换脚本的第1行
#!/cygdrive/c/cygwin64/bash
#!bash
#!C:\cygwin64\bin\bash
不知道这是否是正确的论坛,但我在用bash2py将bash脚本转换为python时遇到了问题。我已经运行了安装程序,一切看起来都很好。
Beginning configuration for bash-4.3-release for x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executab