Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash操作符的作用是什么<<&书信电报;(即三倍小于符号)平均值?_Bash_Shell - Fatal编程技术网

Bash操作符的作用是什么<<&书信电报;(即三倍小于符号)平均值?

Bash操作符的作用是什么<<&书信电报;(即三倍小于符号)平均值?,bash,shell,Bash,Shell,三重小于符号bash运算符的作用是什么,它将字符串重定向到命令的stdin 直接在命令之前以这种方式分配的变量仅对命令进程有效;炮弹未被触碰。来自manbash 这里是字符串 此处文件的一个变体,格式为: <<<word 没有设置IFS的原因是bash没有将其视为单独的命令。。。您需要在命令后添加换行符或分号以终止命令: $ cat /tmp/ifs.sh LINE="7.6.5.4" IFS='.' read -a ARRAY <<< "$LI

三重小于符号bash运算符的作用是什么,它将字符串重定向到命令的stdin


直接在命令之前以这种方式分配的变量仅对命令进程有效;炮弹未被触碰。

来自
manbash

这里是字符串 此处文件的一个变体,格式为:

     <<<word

没有设置IFS的原因是bash没有将其视为单独的命令。。。您需要在命令后添加换行符或分号以终止命令:

$ cat /tmp/ifs.sh
LINE="7.6.5.4"
IFS='.'  read -a ARRAY <<< "$LINE"
echo "$IFS"
echo "${ARRAY[@]}"

$ bash /tmp/ifs.sh 


7 6 5 4
$cat/tmp/ifs.sh
LINE=“7.6.5.4”

IFS='.'读取-数组
似乎是为
$LINE
定义自定义分隔符的一种方法。如何修改它以使用自定义多字符分隔符?比如说,
==>
?我应该如何引用字符串?你不能
$IFS
始终被解释为一系列单个字符。但是当我想使用换行符拆分数组时。只有第一项被添加到hostArray。但是主机有4个项目
host=$(mysql-S$socket$catalog——跳过列名-e“从mysql.user中选择主机”;echo“主机:$host"; IFS=$'\n';read-ra hostArray@Guna我已经晚了几年,但无论如何,其他人可能会想知道……在这部分
中,因为第一种方法是为单个命令临时设置env vars。当该命令完成时,它们会自动重置回以前的值。我一直使用它来设置调试标志或其他,但只是暂时的。当您需要在单个|管道中使用多个管道时,使用此操作符(而不是使用mknod命名管道):例如,echo data | command--stdin上的数据--other-data-on-fd-3
$ cat /tmp/ifs.sh
LINE="7.6.5.4"
IFS='.'  read -a ARRAY <<< "$LINE"
echo "$IFS"
echo "${ARRAY[@]}"

$ bash /tmp/ifs.sh 


7 6 5 4
$ cat /tmp/ifs.sh 
LINE="7.6.5.4"
IFS='.';  read -a ARRAY <<< "$LINE"
echo "$IFS"
echo "${ARRAY[@]}"

$ bash /tmp/ifs.sh 
.
7 6 5 4