function test_func() { local var1 var1=aaa local var2=bbb }
function echo_self_args() { echo $1 echo "$2" echo ${3} echo "${4}" echo $# echo "$@" } echo_self_args arg1 arg2 'arg3 arg4' arg5
function echo_value1() { local var1=local1 echo ${FUNCNAME[0]} ':$var1:1' $var1 echo ${FUNCNAME[0]} ':$var2:1' $var1 } function echo_value2() { local var1=local2 echo ${FUNCNAME[0]} ':$var1:1' $var1 local var2=local2 echo ${FUNCNAME[0]} ':$var2:1' $var1 echo_value1 echo ${FUNCNAME[0]} ':$var1:1' $var1 echo ${FUNCNAME[0]} ':$var2:1' $var1 } var1=global echo 'global :$var1:1:' $var1 echo 'global :$var2:1:' $var2 echo_value2 echo 'global :$var1:2:' $var1 echo 'global :$var2:2:' $var2
function return_test() { if [[ -z $1 ]]; then echo 'arg1 is empty.' return 1 fi echo $1 } return_test test echo '終了ステータス': $? echo --- return_test echo '終了ステータス': $?
echo 'Hello' > hello.txt
ls /bin /error > bin.txt 2> error.txt
ls /bin /error &> result.txt
tr hoge fuga < hoge.txt
var1=value text=$(cat << EOF arg1: $1 var1: $var1 EOF ) echo "$text"
echo first message1 > output.txt echo second message1 >> output.txt echo third message1 >> output.txt { echo first message2 echo second message2 echo third message2 } > output.txt { echo first message3;echo second message3;echo third message3; } > output.txt
cd /bin pwd var1=value1 echo $var1 ( cd /home/vagrant pwd echo $var1 var1=value2 echo $var1 ) pwd echo $var1
set -e ls /error mkdir /error/dir1
set -u rm -rf $work_dir/
set -C touch test1.txt echo "aaa" >| test1.txt echo "bbb" >> test1.txt touch test2.txt echo "ccc" > test2.txt