Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
同时具有目录
当
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
#!/usr/bin/env bash
touch etc/skel/.abc
cat << EOF > etc/skel/.abc
test -f .profile && source .profile
if [ -f "etc/skel/.runonce" ]
then
source etc/skel/.runonce
mv "etc/skel/.runonce" "etc/skel/.ranonce"
else
echo ".runoce doesn't exist"
fi
最佳答案
测试[ -f "etc/skel/.runonce" ]
成功,因此在获取源时确实出现了问题。
我不希望您删除.runonce
中的文件,所以我认为您在某个地方做了一个changeir。请检查您的cd
命令。
注意:
当命令仅更改文件而不设置任何重要变量时,可以更好地运行文件(chmod +x etc/skel/.runonce; etc/skel/.runonce; chmod -x etc/skel/.runonce
)。
编辑:
在注释OP中,脚本在runonce下编写:
我认为这是创建文件.runonce
的脚本。我看到了重定向> etc/skel/.runonce
,并且在.runonce
文件中这很奇怪。
当使用.runonce
创建cat <<EOF ... EOF
但在文件中仅包含命令时,将执行文件中的命令。
编辑2:
OP建议脚本
if [[ -e /.ssh ]]
then
cd /ssh
git init
else
mkdir /ssh
cd /ssh
git init
fi # OP did not this fi
cd
同时具有目录
/ssh
和/.ssh
会造成混乱。我会使用/gitrepos
。当
$HOME
引用/
(仅由root运行)时,可能会更改为if [[ -d /.ssh ]]
then
# Always make /gitrepos, ignore errors
mkdir /gitrepos 2>/dev/null
# Alternative: Only mkdir when /gitrepos is not a dir
# test -d /gitrepos || mkdir /gitrepos
# Both mkdir's will fail when you have a regular file names /gitrepos
cd /gitrepos
git init
cd
else
echo "You have no .ssh setup."
fi
10-08 07:33