コードをファイルに出力したいcat <<EOF >>
:
cat <<EOF >> brightup.sh
!/bin/bash
curr=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ $curr -lt 4477 ]; then
curr=$((curr+406));
echo $curr > /sys/class/backlight/intel_backlight/brightness;
fi
EOF
しかし、ファイル出力を確認すると、次のようになります。
!/bin/bash
curr=1634
if [ -lt 4477 ]; then
curr=406;
echo > /sys/class/backlight/intel_backlight/brightness;
fi
一重引用符を付けてみましたが、出力には一重引用符も含まれています。この問題を回避するにはどうすればよいですか?
man bash
、を検索してくださいHere Documents
。そこにすべての詳細。
$(command)
ません`command`
。ファイルの内容を取得するため、bashは有する$(<file)
#!/bin/bash
あり、それ以外の何もない必要があり#!
ます。これが有効なシバン行になるものであり、その後に続くのはインタープリターへのパスです。