以下是一系列echo $var可以显示与刚刚分配的值不同的值的情况.无论指定的值是"双引号","单引号"还是不引用,都会发生这种情况.
如何让shell正确设置我的变量?
星号
预期的输出是/* Foobar is free software */,但我得到一个文件名列表:
$ var="/* Foobar is free software */"
$ echo $var
/bin /boot /dev /etc /home /initrd.img /lib /lib64 /media /mnt /opt /proc ...
Run Code Online (Sandbox Code Playgroud)
方括号
期望值是[a-z],但有时我会得到一个字母!
$ var=[a-z]
$ echo $var
c
Run Code Online (Sandbox Code Playgroud)
换行(换行符)
预期值是一个单独的行列表,但所有值都在一行!
$ cat file
foo
bar
baz
$ var=$(cat file)
$ echo $var
foo bar baz
Run Code Online (Sandbox Code Playgroud)
多个空间
我期望一个精心对齐的表头,但是多个空格要么消失要么折叠成一个!
$ var=" title | count"
$ echo $var
title | count
Run Code Online (Sandbox Code Playgroud)
标签
我期望两个制表符分隔值,但我得到两个空格分隔值!
$ …Run Code Online (Sandbox Code Playgroud) 我遇到一个问题,将参数传递给Bash脚本中的命令.
poc.sh:
#!/bin/bash
ARGS='"hi there" test'
./swap ${ARGS}
Run Code Online (Sandbox Code Playgroud)
交换:
#!/bin/sh
echo "${2}" "${1}"
Run Code Online (Sandbox Code Playgroud)
目前的输出是:
there" "hi
Run Code Online (Sandbox Code Playgroud)
只改变poc.sh(因为我相信swap做了我想要的正确),我如何让poc.sh传递"hi there"并测试两个参数,"hi there"周围没有引号?
例:
#!/bin/bash
source "$VARIABLE"
Run Code Online (Sandbox Code Playgroud)
是使用curl从远程位置检索值.
http://example.com/file.cnfg
Run Code Online (Sandbox Code Playgroud)