declare

声明变量并赋予它们属性

语法

  declare [-afFrxi] [-p] [name[=value]]

选项

  -a   每个名称都是数组变量.

  -f   仅使用函数名,即仅显示函数名

  -F   禁止显示函数定义; 
       仅打印函数名和属性. 
       

  -i   将变量视为整数; 
       当变量赋值时执行算术运算.

  -p   显示每个名称的属性和值. 
       使用-p时,将忽略其他选项.

  -r   设置只读,这些名称不能被后续赋值语句或未设置的值赋值.

  -x   指定的变量会成为环境变量,可供shell以外的程序来使用.

如果没有给出name,那么`declare’将显示变量的值。

+/- "-“可用来指定变量的属性,”+"则是取消变量所设的属性

在函数中使用时,declare将每个名称设置为本地name,与local命令一样。

提供该typeset命令是为了与Korn shell兼容; 但是,它已被弃用以支持declare 内置命令。

除非遇到无效选项,否则返回状态为零,尝试使用定义函数-f foo = bar',尝试将值赋给readonly变量,尝试在不使用复合赋值语法的情况下为数组变量赋值,其中一个名称不是有效的shell变量名,尝试关闭只读变量的只读状态,尝试关闭数组变量的数组状态,或者尝试显示不存在的函数-f”。

declare 命令实例:

linux命令:declare -i aa ; aa=3*8 ; echo $aa $aa echo ; aa=3*8 ; aa -i declare declare -i aa ; aa=3*8 ; echo $aarootopen.com
linux命令:declare -i aa ; aa=3*8 ; echo $aa $aa echo ; aa=3*8 ; aa -i declare declare -i aa ; aa=3*8 ; echo $aarootopen.com
2017-12-30 19:34:48

linux命令:declare -ax CC; for i in `seq 0 7`;do ii=$(($i+7)); CC[$i]="\033[1;3${i}m"; CC[$ii]="\033[0;3${i}m"; done done CC[$ii]="\033[0;3${i}m"; CC[$i]="\033[1;3${i}m"; ii=$(($i+7)); 7`;do 0 `seq in i for CC; -ax declare declare -ax CC; for i in `seq 0 7`;do ii=$(($i+7)); CC[$i]="\033[1;3${i}m"; CC[$ii]="\033[0;3${i}m"; donerootopen.com
linux命令:declare -ax CC; for i in `seq 0 7`;do ii=$(($i+7)); CC[$i]="\033[1;3${i}m"; CC[$ii]="\033[0;3${i}m"; done done CC[$ii]="\033[0;3${i}m"; CC[$i]="\033[1;3${i}m"; ii=$(($i+7)); 7`;do 0 `seq in i for CC; -ax declare declare -ax CC; for i in `seq 0 7`;do ii=$(($i+7)); CC[$i]="\033[1;3${i}m"; CC[$ii]="\033[0;3${i}m"; donerootopen.com
2018-04-30 19:54:48

linux命令:declare -f [ function_name ] ] function_name [ -f declare declare -f [ function_name ]rootopen.com
linux命令:declare -f [ function_name ] ] function_name [ -f declare declare -f [ function_name ]rootopen.com
2018-04-26 10:23:48

linux命令:declare -F | sed 's/^declare -f //' //' -f 's/^declare sed | -F declare declare -F | sed 's/^declare -f //'rootopen.com
linux命令:declare -F | sed 's/^declare -f //' //' -f 's/^declare sed | -F declare declare -F | sed 's/^declare -f //'rootopen.com
2018-02-06 06:30:48

linux命令:declare -F | cut -d ' ' -f 3 3 -f ' ' -d cut | -F declare declare -F | cut -d ' ' -f 3rootopen.com
linux命令:declare -F | cut -d ' ' -f 3 3 -f ' ' -d cut | -F declare declare -F | cut -d ' ' -f 3rootopen.com
2018-04-02 08:50:48

linux命令:declare -i i; i=0; for file in *; do i=`expr $i+1`; mv "$file" $i; done; done; $i; "$file" mv $i+1`; i=`expr do *; in file for i=0; i; -i declare declare -i i; i=0; for file in *; do i=`expr $i+1`; mv "$file" $i; done;rootopen.com
linux命令:declare -i i; i=0; for file in *; do i=`expr $i+1`; mv "$file" $i; done; done; $i; "$file" mv $i+1`; i=`expr do *; in file for i=0; i; -i declare declare -i i; i=0; for file in *; do i=`expr $i+1`; mv "$file" $i; done;rootopen.com
2018-02-21 14:54:48

linux命令:declare -i i=0 ; for file in * ; do i=$[$i+1] ; mv "$file" $i; done done $i; "$file" mv ; i=$[$i+1] do ; * in file for ; i=0 -i declare declare -i i=0 ; for file in * ; do i=$[$i+1] ; mv "$file" $i; donerootopen.com
linux命令:declare -i i=0 ; for file in * ; do i=$[$i+1] ; mv "$file" $i; done done $i; "$file" mv ; i=$[$i+1] do ; * in file for ; i=0 -i declare declare -i i=0 ; for file in * ; do i=$[$i+1] ; mv "$file" $i; donerootopen.com
2018-03-29 00:13:48

linux命令:declare -f <function name> name> <function -f declare declare -f <function name>rootopen.com
linux命令:declare -f <function name> name> <function -f declare declare -f <function name>rootopen.com
2018-04-19 03:14:48

linux命令:declare -x PS1="[\[\e[01;35m\]\u\[\e[00m\]@\[\e[01;31m\]\h\[\e[00m\]](\j):\[\e[01;36m\]\w\n\\$ \[\e[00m\]" \[\e[00m\]" PS1="[\[\e[01;35m\]\u\[\e[00m\]@\[\e[01;31m\]\h\[\e[00m\]](\j):\[\e[01;36m\]\w\n\\$ -x declare declare -x PS1="[\[\e[01;35m\]\u\[\e[00m\]@\[\e[01;31m\]\h\[\e[00m\]](\j):\[\e[01;36m\]\w\n\\$ \[\e[00m\]"rootopen.com
linux命令:declare -x PS1="[\[\e[01;35m\]\u\[\e[00m\]@\[\e[01;31m\]\h\[\e[00m\]](\j):\[\e[01;36m\]\w\n\\$ \[\e[00m\]" \[\e[00m\]" PS1="[\[\e[01;35m\]\u\[\e[00m\]@\[\e[01;31m\]\h\[\e[00m\]](\j):\[\e[01;36m\]\w\n\\$ -x declare declare -x PS1="[\[\e[01;35m\]\u\[\e[00m\]@\[\e[01;31m\]\h\[\e[00m\]](\j):\[\e[01;36m\]\w\n\\$ \[\e[00m\]"rootopen.com
2018-02-26 01:25:48

linux命令:declare -a array=($(tail -n +2 /proc/net/tcp | cut -d":" -f"3"|cut -d" " -f"1")) && for port in ${array[@]}; do echo $((0x$port)); done done $((0x$port)); echo do ${array[@]}; in port for && -f"1")) " -d" -f"3"|cut -d":" cut | /proc/net/tcp +2 -n array=($(tail -a declare declare -a array=($(tail -n +2 /proc/net/tcp | cut -d":" -f"3"|cut -d" " -f"1")) && for port in ${array[@]}; do echo $((0x$port)); donerootopen.com
linux命令:declare -a array=($(tail -n +2 /proc/net/tcp | cut -d":" -f"3"|cut -d" " -f"1")) && for port in ${array[@]}; do echo $((0x$port)); done done $((0x$port)); echo do ${array[@]}; in port for && -f"1")) " -d" -f"3"|cut -d":" cut | /proc/net/tcp +2 -n array=($(tail -a declare declare -a array=($(tail -n +2 /proc/net/tcp | cut -d":" -f"3"|cut -d" " -f"1")) && for port in ${array[@]}; do echo $((0x$port)); donerootopen.com
2018-01-19 09:02:48

Linux的Bash命令行(A-Z排序)